[英]Is DataGridView.DataSource synchronized with DataGridView UI?
假设我们有一个DataGridView dgv
和dgv.DataSource = dataTable
,其中
dataTable = new DataTable()
。
问题是:我们通过dgv
访问的值dgv
像获取dgv[i,j]
,始终是dataTable
,反之亦然?
我相信答案是肯定的。 如果您查看Reflector中的DataGridViewCell.Value
属性并遵循其曲折的路径,您将最终得到一些代码(经过一堆噪音处理未绑定控件的情况之后),如下所示:
DataGridView.DataGridViewDataConnection dataConnection = dataGridView.DataConnection;
if (dataConnection == null)
{
return null;
}
if (dataConnection.CurrencyManager.Count <= rowIndex)
{
return this.Properties.GetObject(PropCellValue);
}
return dataConnection.GetValue(this.OwningColumn.BoundColumnIndex, this.ColumnIndex, rowIndex);
因此,在这里您可以看到访问DataGridViewCell
的Value
属性将直接访问数据源。 换句话说,这并不是一个滞后的同步过程,在DataTable
更新相应的行之后 ,您可能会在DataGridView
更新一个值; 一个只是指向另一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.