我有一个包含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”没有出现。
2条答案
按热度按时间yb3bgrhw1#
试试看,
在
InitializeComponent()
之后,希望能帮上忙,
x33g5p2x2#
如果DataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode. Edit,则存在其他设置也阻止以编程方式绘制组合;希望能帮助一些人。