先定义 DataGridView dgv; DataView dv; DataTable dt;
假如上面三个对象都已初始化,dgv为一个DataGridView控件。
dgv的DataSource设为dt时,如果DataGridView中的数据排序,可是它的数据源dt的数据并没有排序,如果用索引索取数据会导致数据混论。因为dt为dgv的源数据。如果dgv的DataSource设为DataView效果就不同了,这里可以采取dt的数据视图。代码如下:
dgv.DataSource = dt.DefaultView;
这时dgv中的数据排序后dt.DefaultView视图中的数据也排序了。更新该试图可以采取如下代码:
dv = (DataView)dgv.DataSource;
//添加一行
DataRowView dvr = dv.AddNew();
dvr[0] = "abc"; dvr[1] = "小明"; ……//0和1为改行的列索引号
//修改一行
dv[1][0] = "abc"; dv[1][1]= "小明"; //这里假设修改第二行前两列数据
//删除一行
dv.Delete(2);//删除行索引号为2的行
C#控件DataGridView的DataSource属性设为DataView和DataTable的区别
最新推荐文章于 2024-09-22 13:10:19 发布