2 回答
TA贡献1796条经验 获得超7个赞
A DataGridView
- 实际上任何绑定控件 - 需要在数据更改时从数据源接收通知,以便知道它需要更新。这需要一个实现IBindingList
接口的对象。在List<T>
没有实现这个接口等电网不知道当列表数据的变化,从而不更新。
您应该做的是将您的列表绑定到 aBindingSource
然后将其绑定到网格。在这种情况下,当您更改列表时,您可以调用 的适当方法BindingSource
,例如ResetBindings
,向网格提供适当的通知。
请注意,当我说“通知”时,我指的是一个事件。一个IBindingList
对象引发其ListChanged
事件,控件处理该事件。
TA贡献1850条经验 获得超11个赞
您可以使用Binding 源来做到这一点:
var source = new BindingSource();
List<StockBalance> balances = ReadDataTable(dataTable);
List<StockBalance> stockBalances = (List<StockBalance>)dataGridView1.DataSource ?? new List<StockBalance>();
stockBalances.AddRange(balances);
source.DataSource = stockBalances;
dataGridView1.AutoGenerateColumns=true;
dataGridView1.DataSource = source;
- 2 回答
- 0 关注
- 196 浏览
添加回答
举报