DataGridViewCellEventArgs如何帮助修改DataGridViewCell的当前值?

时间:2009-05-08 16:40:57

标签: c# events datagridview

我正在使用此事件在检查CheckBoxColumn时对该行进行备注,因此我还要使用“Value”属性替换“以编程方式”,来自同一行的当前单元格[6]值,但是它失败了默认情况下,“readOnly”属性为=“true”。

从LINQ2SQL查询中检索DataGridView1.DataSource。

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;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我会在DataSource中找到实际的对象/行,在那里翻转布尔值,然后重新绑定网格。然后,您可以在CellFormatting事件中设置BackColor。