0

DataGridViewのイベントで winform に画像を表示するコードを書きました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 に答える