Я использую это событие, чтобы отметить строку, когда CheckBoxColumn был проверен, поэтому дополнительно я хочу заменить «программно» текущее значение ячейки [6] из той же строки, используя свойство «Значение», но это не удается вызывать по умолчанию свойство readOnly = = true.
DataGridView1.DataSource извлекается из запроса LINQ2SQL.
void updateStyle_DataGridViewCellEventArgs(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1)
return;
else
{
DataGridView dgv = sender as DataGridView;
int vCHK = e.ColumnIndex;
if (vCHK != 0)
return;
else
{
DataGridViewCheckBoxCell temp = (DataGridViewCheckBoxCell)dgv.Rows[e.RowIndex].Cells[0];
if ((bool)temp.EditedFormattedValue == true)
{
DataGridViewTextBoxCell xrow = (DataGridViewTextBoxCell)dgv.Rows[e.RowIndex].Cells[6];
xrow.ReadOnly = false;
xrow.Value = "P";
xrow.OwningRow.DefaultCellStyle.BackColor = Color.Wheat;
}
else
{
temp.OwningRow.DefaultCellStyle.BackColor = Color.White;
}
}
}
}