110,534
社区成员
发帖
与我相关
我的任务
分享
//我有一个枚举类型:
public enum E_DIRECTION
{
DEFAULT,
INVERSE
}
//然后我把这个枚举类型绑定到datagridview第一列
DataTable dtDireciton = new DataTable();
dtDireciton.Columns.Add("String", typeof(string));
dtDireciton.Columns.Add("Value", typeof(E_DIRECTION));
arow = dtDireciton.NewRow();
arow[0] = "默认";
arow[1] = E_DIRECTION.DEFAULT;
dtDireciton.Rows.Add(arow);
arow = dtDireciton.NewRow();
arow[0] = "反向";
arow[1] = E_DIRECTION.INVERSE;
dtDireciton.Rows.Add(arow);
DataGridViewComboBoxColumn combox;
combox = dgvAxisData.Columns[0] as DataGridViewComboBoxColumn;
combox.DataSource = dtDireciton;
combox.DisplayMember = "String";
combox.ValueMember = "Value";
//然后我有一个枚举变量给datagridview第一行的这一列单元格赋值
E_DIRECTION mydir = E_DIRECTION.INVERSE;
dgvAxisData.Rows[0].Cells[0].Value = mydir ;
//问题是:为什么初始化显示没问题,当我点击这个ComboBox下拉单元格的时候,总是报错呢?
//报错信息是:DataGridViewComboBoxCell值无效。
DataTable dtDireciton = new DataTable();
dtDireciton.Columns.Add("String", typeof(string));
dtDireciton.Columns.Add("Value", typeof(E_DIRECTION));
DataRow arow = dtDireciton.NewRow();
arow[0] = "默认";
arow[1] = E_DIRECTION.DEFAULT;
dtDireciton.Rows.Add(arow);
arow = dtDireciton.NewRow();
arow[0] = "反向";
arow[1] = E_DIRECTION.INVERSE;
dtDireciton.Rows.Add(arow);
DataGridViewComboBoxColumn combox;
combox = dataGridView1.Columns[0] as DataGridViewComboBoxColumn;
combox.DataSource = dtDireciton;
combox.DisplayMember = "String";
combox.ValueMember = "Value";
E_DIRECTION mydir = E_DIRECTION.INVERSE;
int index = dataGridView1.Rows.Add();
dataGridView1.Rows[index].Cells[0].Value = mydir;
代码如上,怎样给dataGridView1的这个下拉列表框单元格赋值呢?