2012-08-03 63 views
0

我已經編寫代碼以CellFormatting事件顯示DataGridView winform中的圖像。它運行良好,但我已更改爲圖像的單元格不斷刷新。我該怎麼辦?在datagridview中連續刷新

這是我在CellFormatting代碼:

dgvUnknownPayed.Rows[e.RowIndex].Cells[colStateImage.Name].Value = Properties.Resources.undo; 

回答

1

不是修改細胞直接您應該修改數據源。

Datagridview1.datasouce = datatable1.defaultview(); 

foreach (DataRow row in datatable1.Rows) 
{ 
    row.BeginEdit(); 
    row[2] = ‘Something_Here’; 
    row.EndEdit(); 
} 

如果你想停止所有刷新使用此:

DataGrid.SuspendLayout(); //Stops refreshing
DataGrid.ResumeLayout(); //Re-Enable refreshing

DataTable是你在這種情況下使用數據綁定到你的DataGridView .NET對象。

DataTable datatable1 = new DataTable創建DataTable的新實例。
Datagridview1.datasouce = datatable1.defaultview();將datatable1綁定爲網格的數據源。這樣每次表格變化時,網格都會被更新。

現在要使用此表格,您可以採用這種方式。 (這只是一個例子)

  • 如果您指定的列名,並且將它輸入的數據類型,您添加列這樣table.Columns.Add("Division", typeof(int));。就像在SQL Server中一樣。
  • 您在此處添加像這樣的行table.Rows.Add(Something),在這種情況下是Integer

就這麼簡單。根據需要更改Integer類型。不要忘記這只是一個簡單的例子。您可以添加更多的列和行。

+0

感謝您的幫助。但我沒有在我的數據源的圖像單元格,我只有在我的datagridview。請告訴我在這種情況下什麼是數據表? – Mehdi 2012-08-03 14:54:12

+0

沒問題。歡迎來到StackOverflow。如果您發現您正在尋找的答案 – phadaphunk 2012-08-03 15:02:06

+0

請幫助我,請不要忘記將答案標記爲答案的答案。 – Mehdi 2012-08-03 15:10:17