以前,在項目工做中,用到了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 慢一些,尤爲是當數據量很大的時候,兩種操做的優劣就比較明顯了!