RadGridView在更改值时不会立即更新DataSource

时间:2013-10-04 20:20:10

标签: c# list datagridview datasource radgridview

我正在为我的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小时的大部分时间而无济于事。

1 个答案:

答案 0 :(得分: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事件并且它有效。