0

我已经编写了代码来DataGridView通过CellFormatting. 它运作良好,但我已更改为图像的单元格会不断刷新。我应该怎么办?

这是我的代码CellFormatting

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

1 回答 1

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是一个 .Net 对象,您在这种情况下用于将数据绑定到您的DataGridView.

DataTable datatable1 = new DataTable 创建 的新实例DataTable
Datagridview1.datasouce = datatable1.defaultview();将 datatable1 绑定为网格的数据源。这样每次表格更改时,都会更新网格。

现在要使用此表,您可以按此方式进行。(这只是一个例子)

  • 您可以像这样添加列,table.Columns.Add("Division", typeof(int));在其中指定列的名称和将在其中输入的数据类型。就像在 SQL Server 中一样。
  • table.Rows.Add(Something)在某物所在的位置添加这样的行,在本例中为Integer.

就这么简单。更改Integer任何您想要的类型。不要忘记这只是一个简单的例子。您可以添加更多的列和行。

于 2012-08-03T14:47:27.893 回答