0

Webで回答を検索しましたが、見つかりませんでした。これはC#のwinformsです。このようなことをすることは可能です:

private void datagridItems_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
int ID;
DataGridViewRow row = this.datagridItems.Rows[e.RowIndex];
DataGridViewCell cell = row.Cells[e.ColumnIndex];

if (row.Cells[2].Value == some value)
{
//set the value of a cell
row.Cells[4].Value = new value;
}
}

cell [2]の他の基準に基づいて、cell[4]の既存のコンテンツをクリアする必要があります。

助けてくれてありがとう。ライアン

4

1 に答える 1

2

DataGridViewがデータバインドされている場合は、セルのコンテンツを直接変更しないでください。代わりに、データバインドされたオブジェクトを変更する必要があります。DataGridViewRowのDataBoundItemを介してそのオブジェクトにアクセスできます。

MyObject obj = (MyObject)dataGridView.CurrentRow.DataBoundItem;
obj.MyProperty = newValue;

バインドされたオブジェクトがINotifyPropertyChangedイベントをサポートしていない場合は、後でグリッドを更新します。

于 2013-03-11T21:02:25.463 に答える