C#控件DataGridView的DataSource属性设为DataView和DataTable的区别

先定义 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的行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值