这里我有一个列名“Status”,我在其中使用ComboBox
,其值为“Pending”和“Delivered”现在我希望当用户选择从ComboBox传送然后整个行或应禁用此控件,以便用户无法再次更改它,默认情况下,其值应为“待定”,我该怎么做?是否可以在gridview中禁用单行?
答案 0 :(得分:2)
您无法禁用单个行。但是你可以只读它:
DataGridView1.Rows[rowIndex].ReadOnly = true;
(这使得rowIndex索引的行设置为readonly)。
对于您的具体示例,您可能希望处理datagridview的CellValueChanged事件,并且具有以下行的代码:
void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 4 && DataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "Delivered")
{
DataGridView1.Rows[e.RowIndex].ReadOnly = true;
}
}
答案 1 :(得分:0)
您可以处理RowChanged事件并执行类似
的操作if (Status == 'Delivered')
{
e.Row.Enabled = False;
}