我正在为我的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小时的大部分时间而无济于事。
答案 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事件并且它有效。