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 回答