谈关于在datagridview上执行操作后的刷新方法 c#

来源:互联网 发布:单片机cpl指令 编辑:程序博客网 时间:2024/06/11 14:35

之前,在项目工作中,用到了dataGridView控件,单击选择某一条记录后,实现将该记录从数据库表中删除并刷新dataGridView,之前的做法是:

 读取数据填充dataset,然后绑定dataGridView,单击删除按钮,执行SQL删除命令,刷新(重新读取数据 填充dataset,再重新绑定dataGridView),后来发现当填充的数据量过大时,上万条时,发现有些迟钝了,仔细琢磨后(金山词霸的生词本给了灵感)——局部刷新

1 读取数据填充dataset,赋给Datatable  dt ;

2 将Ddatatable的所有行赋给 DataRowCollection   drc;

3在dataGridView的单元格单击事件中,获取要删除的行的索引 index;

4执行drc.RemoveAt(index); 删除该行数据;

5重新绑定DataGridView1.DataSource = dt;

以上五步实现了局部刷新,即使数据量很大的时候,刷新操作也是秒杀,没有任何延迟不爽的地方!

     但是,这仅仅是实现了dataGridView的刷新操作,但是数据库并没有执行删除操作,不急,此时只需要在第六步执行SQL删除操作即可。

  先SQL 后刷新  和  先刷新后SQL  的区别 在哪里?  给用户的体验,, 先SQL 后刷新执行起来好像比

先刷新后SQL 慢一些,尤其是当数据量很大的时候,两种操作的优劣就比较明显了!

 

0 0