以前,在项目工做中,用到了dataGridView控件,单击选择某一条记录后,实现将该记录从数据库表中删除并刷新dataGridView,以前的作法是: 数据库
读取数据填充dataset,而后绑定dataGridView,单击删除按钮,执行SQL删除命令,刷新(从新读取数据 填充dataset,再从新绑定dataGridView),后来发现当填充的数据量过大时,上万条时,发现有些迟钝了,仔细琢磨后(金山词霸的生词本给了灵感)——局部刷新 索引
1 读取数据填充dataset,赋给Datatable dt ; 事件
2 将Ddatatable的全部行赋给 DataRowCollection drc; io
3在dataGridView的单元格单击事件中,获取要删除的行的索引 index; table
4执行drc.RemoveAt(index); 删除该行数据; 秒杀
5从新绑定DataGridView1.DataSource = dt; 数据
以上五步实现了局部刷新,即便数据量很大的时候,刷新操做也是秒杀,没有任何延迟不爽的地方! 项目
可是,这仅仅是实现了dataGridView的刷新操做,可是数据库并无执行删除操做,不急,此时只须要在第六步执行SQL删除操做便可。 tab
先SQL 后刷新 和 先刷新后SQL 的区别 在哪里? 给用户的体验,, 先SQL 后刷新执行起来好像比 工作
先刷新后SQL 慢一些,尤为是当数据量很大的时候,两种操做的优劣就比较明显了!