問題タブ [listchanged]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
547 参照

wpf - DataGrid のオブジェクトが BindingList の ListChanged イベントを発生させない

Stackoverflow に関するほとんどすべての質問を読みましたがDataGrid, BindingList<T>ListChangedまだ答えがありません。

というオブジェクトがありInvoice : INotifyPropertyChangedBindingList<InvoiceLine> : INotifyPropertyChangedいくつかのオブジェクトで構成される がありInvoiceLine : INotifyPropertyChangedます。

DataGridバインドされているでイベントBindableList<InvoiceLine>のプロパティの 1 つを変更するとInvoiceLinePropertyChangedイベントが発生しますが、 でListChangedイベントが発生しませんBindableList<InvoiceLine>

InvoiceLines は次のように初期化されます。

0 投票する
1 に答える
799 参照

bindinglist - BindingList ListChanged イベント

バインディング リストで ListChanged イベントをサブスクライブしています。リストが変更された場合 (アイテムの追加/削除)、内部リストを更新します。内部リストには、元のリストの項目に 1 対 1 で対応するオブジェクトが含まれています。アイテムの順序は異なる場合があります。

ドキュメントに基づいて、イベントが発生したとき、ListChangedEventArgs.ListChangedType は、ItemAdded、ItemDeleted、Reset、および ItemChanged のいずれかになります。ListChangedType は、リスト内の項目が変更された場合 (項目が別の項目に置き換えられた場合、またはそのプロパティの 1 つが変更された場合) に ItemChanged になります。

これらのケースをどのように区別して、リスト内の項目が別の項目に置き換えられた場合に内部リストをリロードできますが、それがプロパティの変更である場合は何もしませんか?

これを達成するためのより良い方法はありますか?

0 投票する
1 に答える
401 参照

c# - ソース テーブルに行を追加するときに DataView.ListChanged イベントが発生しない

テーブルに新しい行を追加すると、ListChanged イベントが発生しない場合があります。奇妙なことに、行の更新と削除によってイベントが発生します。

0 投票する
0 に答える
149 参照

refresh - RaiseListChangedEvent プロパティを複数回設定する際のパフォーマンスの問題

コントロールをリフレッシュする前に、バインディングソースの RaiseListChangedEvent プロパティを false に設定し、リフレッシュ後に再度 true に設定し、ResetBindings を false に設定します。

シナリオが次のようになるとどうなりますか。

パフォーマンスの問題が発生しますか?

0 投票する
1 に答える
379 参照

javafx-8 - ControlsFX PopOver および CheckListView で JavaFX ListChangedListeners が起動しない

汎用 Java クラスを作成して、チェックを外したりチェックしたりできるフィルター項目のリストを表示し、結果の選択をコントローラーに渡して、表示用のプライマリ オブジェクトのコレクションをフィルター処理します。2 つの ControlsFX コントロールを使用しています。PopOverにはフィルタ リストを格納し、 にCheckListViewは個々の項目を表示および制御します。

フローは、フィルターPopOverクラスがコントローラーのコンストラクターでインスタンス化され、ソース データが表示されるたびに再読み込みされるというものです。

表面的には、コードは機能しているように見えます。ソース項目が追加され、チェックとチェック解除が機能し、チェックされた項目のリスト内の項目数が正しくなります。ただし、ソース データとチェックされた項目のリストの両方の監視可能リストにリスナーを追加しましたが、どちらも起動されません。

リスナーをインラインで個別のメソッドとして (例のように) 記述してみました。また、従来onChangedのスタイルとラムダ スタイルで記述してみました。どちらも違いはありませんでした。CheckListViewをペインのノードとして使用するだけで、ほぼ同じコードを使用してみました。これはまさに期待どおりに機能しました。

また、ControlsFX の問題ログを確認しましたが、直接関連するものは何も見つかりませんでした (使用していたコードが問題ないように見えることを確認したことを除いて)。

これは Filter クラスです。

そして、これはテスト スタブです。