datagridview清空数据 用数据源绑定的DataGridView不能用Rows.Clear()清除

http://bailingewei.blog.163.com/blog/static/51277413201092242941797/

最近做的winform程序使用了DataGridView,在清除DataGridview的数据时遇到个问题。我想要清空DataGridview的数据,用了DataGridview.Rows.Clear(),这时就出错了,提示“不能清除此列表”。以前也遇到过,那时的解决办法就是重新绑定数据,也没细为什么不能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的效果是一样的。

原文地址:https://www.cnblogs.com/carl2380/p/2737468.html