数据源为只读- c#

本文关键字:只读 数据源 | 更新日期: 2023-09-27 18:16:20

我有一个DataGridView与属性DataSource = datatable()readonly = falsereadonly必须为假,因为还有其他列可以编辑。我如何使所有列在数据源只读(不可编辑)?

代码如下:

type = new DataGridViewComboBoxColumn();
        table= new DataGridView
                         {
                             DataSource = datatable(), // this returns a DataTable object
                             AllowUserToAddRows = false,
                             AllowUserToDeleteRows = false,
                             RowHeadersVisible = false,
                             MultiSelect = false,
                             Name = "AgentTable",
                             AutoSize = true,
                             ReadOnly = false,
                         };
        table.Columns.Add(CreateStartButton());        
        type.Items.Add(" some table");
        type.ReadOnly = false;
        table.Columns.Add(type);

编辑:datagridview将包含4列。

  • 第一列,每个单元格是一个按钮(只读无关)
  • 第二列,每个单元格是一个下拉框(只读为false)
  • 第三和第四列被创建为DataTable对象,因此(readonly必须为true)

那么我的问题是如何使第三和第四列只读?

数据源为只读- c#

在创建所有列之后,应该很容易迭代它们。我会用这样的代码,但我称它为伪代码因为我不知道DataColumn是否是正确的数据类型:

foreach(DataColumn col in table.Columns) {
    col.ReadOnly = true;
}