如何在DataGridView中使特定列不可编辑?

11

在使用DataGridView时,如果网格视图本身启用了“允许编辑”,我该如何使特定列无法编辑?

另外,当DataGridView中的ComboBox所对应的选定项发生更改时,我该如何执行事件?此处的ComboBox是一种列类型。

还有一个问题是,我该如何将表头标题居中对齐?我找不到适当的属性。

1个回答

17

你在这里有几个问题。

(1) 如何使 DataGridView 中的特定列不可编辑?

设置想要使其不可编辑的特定列上的 ReadOnly 标志。

dataGridView.Columns["YourColumnName"].ReadOnly = true;

(2) 当 DataGridView 中的 ComboBox 的选定索引更改时,如何执行事件?

如果它在你的 DataGridView 中,它不是一个 ComboBox,而是一个 DataGridViewComboBoxColumn。 根据MSDN

与 ComboBox 控件不同,DataGridViewComboBoxCell 没有 SelectedIndex 和 SelectedValue 属性。 相反,从下拉列表中选择一个值会设置单元格 Value 属性。

我对这个问题不熟悉,因为我从未尝试过。 看起来您想订阅 EditingControlShowing 事件,然后查看 类似于这样的内容是否适用于您(稍作调整)。

(3) 如何使表头标题居中对齐?

设置HeaderCell.Style.Alignment

dataGridView.Columns["YourColumnName"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;

其他问题请。 - Informatician

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接