之前,在项目工作中,用到了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 慢一些,尤其是当数据量很大的时候,两种操作的优劣就比较明显了!
来源:oschina
链接:https://my.oschina.net/u/163141/blog/115809