winforms 无法在DataGridViewComboBoxColumn中选择值

qacovj5a  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(160)

我有一个包含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”没有出现。

yb3bgrhw

yb3bgrhw1#

试试看,

DataGridView.ReadOnly = false;

InitializeComponent()之后,
希望能帮上忙,

x33g5p2x

x33g5p2x2#

如果DataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode. Edit,则存在其他设置也阻止以编程方式绘制组合;希望能帮助一些人。

相关问题