2017-04-11 49 views
0

我有一个包含DataGridView的winform项目。无法在DataGridViewComboBoxColumn中选择值

有列:

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; 

我已经尝试设置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”没有出现。

+0

试评上显示方式的变化在你的事件,然后再检查问题。 –

+0

我试过但我仍然有问题。 –

+0

Datagridview的readonly属性是否设置为false? – Berkay

回答

1

尝试,

DataGridView.ReadOnly = false; 

InitializeComponent()后,

希望帮助,