[转] BindingList解决Datagridview.Datasource不刷新界面问题
C# winform datagridview网格控件 datasource用于绑定数据,但修改数据源后重新绑定并不会刷新界面。除非把datasource置为null并重新绑定,但会造成网格列丢失。其实可用BindingList类来替换datatable或list并绑定到datasource。
代码片段示例如下:
BindingList<ScrewGroupItem> screwGroup = new BindingList<ScrewGroupItem>();//本组数据
dgvScrews.DataSource = screwGroup;//绑定一次即可
//注意下面代码执行后,界面会生成相关数据行
for (int i = 1; i <= 5; i++)
{
ScrewGroupItem item = new ScrewGroupItem();
item.Num = i;
item.Torques = 0.00f;
item.Angles = 0.00f;
item.Result = "N/A";
screwGroup.Add(item);
}
//执行清空后,网格界面行也会被清空,用起来相当方便
this.screwGroup.Clear();
注意事项
net framework4.0以上有些人会使用ObservableCollection<XX>来替代,特别是wpf。但对于3.5框架,用BindingList也能达到效果。
IT记事本 发表于 2016/11/2 22:43:34 浏览:185
www.itnotepad.cn版权所有,其他平台未经同意请勿转载/抓取
浙公网安备 33010602011771号