初心者が迷ったReactiveCollectionとDataGridの重複値のチェック~リターンズ2
2016/12/05 注記
この記事のModelのコレクションをReactiveCollectionで実装する方法には、問題があります。
理由は、Schedulerのデフォルトの動作で、ReactivePropertyはViewへの更新のみがRenderingスレッドで実行されるのに対して、ReactiveCollectionのAddOnSchedulerなどの操作を行うとコレクション操作がRenderingスレッドで実行されるので、ReactivePropertyとの処理タイミングのズレが発生し、トラブルになることです。
AddOnSchedulerなどの操作を行わないなら、ObservableCollectionで十分です。
時間があれば書き直しますが、ModelではObservableCollectionを使用してください。
本文
(2016/02/23 コード一部差し替え/詳細は前回の記事参照)
「出来たと思ったのは浅はかだった・・・」
例の如く不具合である。
エラーフラグが付いていない重複行を消すと、エラーフラグが付いている行がエラーのままであった。
「行削除でエラーが消えるパターンを見落としていた」
- 行削除を監視
- エラーフラグがついている行の再評価
- 一応、こちらもブロックしておく
ここまでで、ViewModelは以下のように変わりました。
(2016/02/23 コード一部差し替え/詳細は前回の記事参照)
う~ん、GitHub始めた方がいいのかな?