繁体   English   中英

DataGridView.DataSource是否与DataGridView UI同步?

[英]Is DataGridView.DataSource synchronized with DataGridView UI?

假设我们有一个DataGridView dgvdgv.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);

因此,在这里您可以看到访问DataGridViewCellValue属性将直接访问数据源。 换句话说,这并不是一个滞后的同步过程,在DataTable更新相应的行之后 ,您可能会在DataGridView更新一个值; 一个只是指向另一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM