談關於在datagridview上執行操做後的刷新方法 c#

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

相關文章
相關標籤/搜索