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

烈酒焚心 提交于 2020-03-25 14:34:01
3 月,跳不动了?>>> 之前,在项目工作中,用到了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 慢一些