将整个 GridView 设置为只读

Set entire GridView to be read-only

我知道您可以将特定列指定为仅 readonly 但 C# 是否有办法将整个网格设置为只读?

例如,我知道这会将 1 列设置为只读,

dataGridView1.Columns["ColumnName"].ReadOnly = true;

我试过了,但抛出了一个编译时错误,

dataGridView1.ReadOnly = true;

错误:

Grid view does not contain a definition for Read Only

尝试迭代每一列以将整个 GridView 设置为只读

foreach(DataGridViewColumn column in dataGridView1.Columns)
{
    column.ReadOnly = true;
}

您必须使用 foreach/for 循环遍历数据网格并将每一列的 .ReadOnly 属性 设置为 true.

因为按照惯例,它是包含 GridView 的“编辑”按钮的第一列,您可以简单地隐藏该列以实现只读。

foreach (GridView gv in this.Controls.All().OfType<GridView>())
{
    gv.Columns[0].Visible = false;
}