datasource as readonly - C#

时间:2011-11-30 19:19:59

标签: c# datagridview datasource

我有一个包含属性DataSource = datatable()readonly = false的DataGridView。 readonly必须为false,因为还有其他列可以编辑。如何使DataSource中的所有列都只读(不可编辑)?

代码如下:

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列。

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

所以我的问题是如何将第三列和第四列设为只读?

1 个答案:

答案 0 :(得分:0)

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

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