【发布时间】:2017-04-11 08:15:28
【问题描述】:
我有一个包含 DataGridView 的 winform 项目。
有栏目:
this.ColumnComboBox.FillWeight = 103.2981F;
this.ColumnComboBox.HeaderText = "Test ComboBox";
this.ColumnComboBox.Items.AddRange(new object[] {
"test1",
"test2",
"test3"});
this.ColumnComboBox.Name = "ColumnComboBox";
this.ColumnComboBox.ReadOnly = true;
我尝试在 [Design] 窗口中将 ReadOnly 设置为 false,但设计器总是用上面的代码替换它。
另外,我的 DataGridView 包含这个事件:
private void Gridview1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
switch (e.ColumnIndex)
{
// ComboBoxColumn
case 3:
DataGridViewComboBoxCell comboCell = Gridview1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewComboBoxCell;
if (listItem[e.RowIndex] is DisplayComboClass)
{
comboCell.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton;
}
else
{
comboCell.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
}
break;
}
}
我不知道为什么,但是当我运行我的项目时,我的 DataGridView 在需要时会显示组合框,但我无法选择一个值。当我点击它时,什么也没有发生,值“test1/2/3”没有出现。
【问题讨论】:
-
尝试在您的活动中评论显示样式的更改,然后再次检查问题。
-
我试过了,但还是有问题。
-
Datagridview 的 readonly 属性设置为 false 对吗?
-
DataGridView.ReadOnly 在设计器中设置为 false。但是我用调试器检查过,这个属性在
InitializeComponent之后设置为true。我想是父组件强制它为真,我会尝试找到它 -
在 InitializeComponent 之后将 DataGridView.ReadOnly 设置为 false。
标签: c# winforms datagridview