datagirdview中Combox如何获得选取值?
如图,是winform中datagirdview中一个列是Combox类型,是DataGridViewComboBoxCell。假设DataGridViewComboBo...
如图,是winform中datagirdview中一个列是Combox类型,是DataGridViewComboBoxCell。
假设DataGridViewComboBoxCell这个控件的名称是dgvCombox;
值:dgvCombox.ValueMember="ItemID";(ID:1,2,3)
显示名称:dgvCombox.DisplayMember="ItemName";(名称:名称1,名称2,名称3)
但是这个控件没有像Combox一样的selectedvalue属性。如果我想直接获得dgvCombox的选择的ItemID应该怎么做?
我用dataGridView1.Rows[0].Cells[0].EditedFormattedValue.ToString();这种方式显示的仍然是ItemName。哪位大神能解答一下? 展开
假设DataGridViewComboBoxCell这个控件的名称是dgvCombox;
值:dgvCombox.ValueMember="ItemID";(ID:1,2,3)
显示名称:dgvCombox.DisplayMember="ItemName";(名称:名称1,名称2,名称3)
但是这个控件没有像Combox一样的selectedvalue属性。如果我想直接获得dgvCombox的选择的ItemID应该怎么做?
我用dataGridView1.Rows[0].Cells[0].EditedFormattedValue.ToString();这种方式显示的仍然是ItemName。哪位大神能解答一下? 展开
1个回答
展开全部
按你的说明,你添加的应该是DataGridViewComboxColumn列,假设这个列的列名叫Column1,那么,应该是
this.Column1.ValueMember = "IDCol";//注意这个列名
this.Column1.DisplayMember = "NameCol";//及这个列名应该是this.Column1.DataSource所绑定的DataTable中的列名
且
this.Column1.DataSource= 语句返回的数据表("Select ItemID as IDCol,ItemName as NameCol From xxTable");//注意列名与ValueMember及DisplayMember的对应关系;
this.Column1.DataPropertyName = "ItemID";//这个列名是this.Column1.DataGridView.DataSource数据源中的列名!注意,这是想说明与上面的ValueMember、DisplayMember是相互独立的,但this.Column1.DataPropertyName列的值必须在this.Column1.DataSource的ValueMember列中存在,否则会报错;
这时,ItemID这样取:
this.dataGridView1.Rows[0].DataBoundItem as DataRowView)[this.Column1.DataPropertyName].ToString()
ItemName可以这样取:
this.dataGridView1.Rows[0].Cells[0].FormattedValue.ToString()
this.Column1.ValueMember = "IDCol";//注意这个列名
this.Column1.DisplayMember = "NameCol";//及这个列名应该是this.Column1.DataSource所绑定的DataTable中的列名
且
this.Column1.DataSource= 语句返回的数据表("Select ItemID as IDCol,ItemName as NameCol From xxTable");//注意列名与ValueMember及DisplayMember的对应关系;
this.Column1.DataPropertyName = "ItemID";//这个列名是this.Column1.DataGridView.DataSource数据源中的列名!注意,这是想说明与上面的ValueMember、DisplayMember是相互独立的,但this.Column1.DataPropertyName列的值必须在this.Column1.DataSource的ValueMember列中存在,否则会报错;
这时,ItemID这样取:
this.dataGridView1.Rows[0].DataBoundItem as DataRowView)[this.Column1.DataPropertyName].ToString()
ItemName可以这样取:
this.dataGridView1.Rows[0].Cells[0].FormattedValue.ToString()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询