DatagridViewComboxColumn cmbox = Datagridview.Columns["COmbox控件的Name"] as DatagridViewComboxColumn ; cmbox.DataSource = 下框的数据源;
cmbox.DataPropertyName= datagrid的数据源的要绑定的列;
cmbox.d...Member="下拉框显示的TEXT";
cmbox.ValueMember="隐藏的值";
DataGridViewComboBoxColumn csex = new DataGridViewComboBoxColumn();
csex.DataPropertyName = "sSex";
csex.HeaderText = "性别";
DataTable dt = new DataTable();
dt.Columns.Add("sexname");
dt.Columns.Add("sexvalue");
DataRow dr = dt.NewRow();
dr[0] = "男";
dr[1] = "1";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1);
csex.DataSource = dt;
csex.ValueMember = "sexvalue";
csex.DisplayMember = "sexname";
this.datagridview1.Columns.Add(csex);
cmbox.DataPropertyName= datagrid的数据源的要绑定的列;
cmbox.d...Member="下拉框显示的TEXT";
cmbox.ValueMember="隐藏的值";
DataGridViewComboBoxColumn csex = new DataGridViewComboBoxColumn();
csex.DataPropertyName = "sSex";
csex.HeaderText = "性别";
DataTable dt = new DataTable();
dt.Columns.Add("sexname");
dt.Columns.Add("sexvalue");
DataRow dr = dt.NewRow();
dr[0] = "男";
dr[1] = "1";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1);
csex.DataSource = dt;
csex.ValueMember = "sexvalue";
csex.DisplayMember = "sexname";
this.datagridview1.Columns.Add(csex);
dr[0] = "男";
dr[1] = "1";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = "女";
dr1[1] = "2";
dt.Rows.Add(dr1); 改成dt.Rows.Add("男","1")
dt.Rows.Add("女","2")
不是更简洁吗?
dt 有一列名为ID,另一列为NamecomboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ID";这样comboBox1就会将Name列作为下拉框的内容;将ID列做为真实值,如果想要Name列为真实值,就直接用
comboBox1.ValueMember = "Name"; 就可以了
通常是在 DataBound事件中