C# DataGridView控件清空数据完美解决方法

最近做的winform程序使用了DataGridView,在清除DataGridview的数据时遇到个问题。我想要清空DataGridview的数据,1.DataGridview.Rows.Clear(),提示“不能清除此列表”。

21.DataSource为NULL(DataGridView.DataSource=null;)这样会将DataGridView的列也删掉。

以前也遇到过,那时的解决办法就是重新绑定数据,也没细为什么不能Rows.Clear()。        

于是搜索了下,用数据源绑定的DataGridView不能用Rows.Clear()清除,手动添加的是能够用clear()的。所以将datasource设置为null就可以清空数据,但是这不是我要的效果,这样会将DataGridView的列也删掉。想要保持原有的列用如下代码就可以了,就是重新绑定一个没有数据的datatable。    

DataTable dt = (DataTable)dgvData.DataSource;            

dt.Rows.Clear();            

dgvData.DataSource = dt;     

如果用DataGridview.Rows.Clear()也能清空数据,和设置datasource为NULL(this.datagridview.datasoucre="null";)的效果是一样的。     

ds.Tables["dtCustomerInfo"].Rows.Clear();//清空数据 

this.DataGridView.DataSource = ds.Tables["dtCustomerInfo"];//清空数据后依然保持DataTable结构模式,所以不会改变。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值