1

RadGridView コンポーネントに Telerik の RadControls for WinForms を使用しており、その DataSource を Extra (カスタム オブジェクト) のリストに設定しています。

BindingList<Extra> extras;

RadGridView の DataSource を更新する関数では、次のようになります。

var source = new BindingSource(extras, null);
extraGridView.DataSource = typeof(List<Extra>);
extraGridView.DataSource = source;

イニシャライザでエクストラ リストを初期化しましたが、RadGridView セル、つまりチェックボックスで値が変更された場合、値がクリックしてもすぐに更新されず、クリックする必要があることを除いて、すべて正常に動作します。望ましい結果のためにもう一度。

INotifyPropertyChanged と INotifyPropertyChanging で Extra クラスを拡張しようとしましたが、値が更新されるたびにイベントを呼び出しましたが、成功しませんでした。また、RadGridView オブジェクトに対していくつかの関連イベントを呼び出してみましたが、何も機能していないようです。また、BindingList の ListChanged イベントを呼び出そうとしました。

RadGridView の別の場所をクリックしない限り、これらのイベントはどれも機能しません。そもそもリストが実際には変わらないかのようです... この問題は 4 時間のほとんどの間私を悩ませてきましたが、役に立ちませんでした。

4

1 に答える 1

0

これも私の問題でした。ここで回答を見つけました http://www.telerik.com/forums/gridview-value-change

追加した

this.radGridView1.GridElement.Update(GridUINotifyAction.DataChanged);

// or (when the code above doesn't help)

this.radGridView1.MasterGridViewTemplate.Update(GridUINotifyAction.Reset);

私の RadGridView ValueChanged イベントに追加すると、うまくいきました。

于 2014-01-27T07:15:27.390 に答える