我使用了一个DataGridView控件来显示一些数据。我需要根据网格中的一些值动态地启用和禁用一些数据。
有人能告诉我怎么做吗?
发布于 2011-03-14 02:41:50
要“禁用”一个单元格,它必须是只读的,并且以某种方式灰显。此函数用于启用/禁用DataGridViewCell:
/// <summary>
/// Toggles the "enabled" status of a cell in a DataGridView. There is no native
/// support for disabling a cell, hence the need for this method. The disabled state
/// means that the cell is read-only and grayed out.
/// </summary>
/// <param name="dc">Cell to enable/disable</param>
/// <param name="enabled">Whether the cell is enabled or disabled</param>
private void enableCell(DataGridViewCell dc, bool enabled) {
//toggle read-only state
dc.ReadOnly = !enabled;
if (enabled)
{
//restore cell style to the default value
dc.Style.BackColor = dc.OwningColumn.DefaultCellStyle.BackColor;
dc.Style.ForeColor = dc.OwningColumn.DefaultCellStyle.ForeColor;
}
else {
//gray out the cell
dc.Style.BackColor = Color.LightGray;
dc.Style.ForeColor = Color.DarkGray;
}
}
发布于 2009-03-10 07:14:23
您可以将特定行或单元格设置为只读,这样用户就不能更改该值。你是这个意思吗?
dataGridView1.Rows[0].ReadOnly = true;
dataGridView1.Rows[1].Cells[2].ReadOnly = true;
发布于 2017-05-24 21:45:53
步骤1:
type form load : -
For i = 0 to Datagridview.columns.count -1
if i <> 1 then //restricted columns, 'i' is Your column index
Datagridview.Columns(i).ReadOnly = True
end if
Next
第二步
type Cellbeginedit
Datagridview.BeginEdit(True)
https://stackoverflow.com/questions/629107
复制相似问题