【问题标题】:Unable to select value in DataGridViewComboBoxColumn无法在 DataGridViewComboBoxColumn 中选择值
【发布时间】: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


【解决方案1】:

试试,

DataGridView.ReadOnly = false;

InitializeComponent()之后,

希望有所帮助,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多