datagridview控件中的DataGridViewComboBoxColumn使用时怎么获取到下拉选项的SelectedIndex值

 我来答
率土之滨80H
2012-11-26 · 超过58用户采纳过TA的回答
知道答主
回答量:118
采纳率:100%
帮助的人:136万
展开全部
一般我们在使用ComboBox时,会先给其添加items,其中的items通常又会是一个枚举。
此处举例用:
public enum Criterion{Pass,
Fail,
UpLimit,
DownLimit}再生成一个枚举型的变量 private Criterion m_eCriterion
然后再根据其下拉的选项来使用,单独的ComboBox有SelectedIndex属性,获取所选的枚举值用 m_eCriterion = (Criterion)combox1.SelectedIndex;即可实现。
但是当这个ComboBox在Datagridview控件中,情况就不一样了。可以通过datagridview1.Rows[i].cell[0].Value.ToString()来得到这个所选的字符串,却得不到其SelectedIndex值,最初我想用(ComboBox)datagridview1.Rows[i].cell[0]来进行强制转换,但没有成功,没办法只好把上面得到的字符串再进行Switch,在每个case中进行枚举型的赋值,我想这肯定不是一个好的方案,请各位大虾出出主意。
------解决方案--------------------------------------------------------
combox cb = (ComboBox)datagridview1.Rows[i].cell[0].findControl(combox控件明)
int index=cb.selectIndex;
好像是这样的吧,你试试
------解决方案--------------------------------------------------------
设置DataGridViewComboBoxColumn的DisplayMember和ValueMember分别为显示的字符串和对应的枚举值。
------解决方案--------------------------------------------------------帮顶
------解决方案--------------------------------------------------------
学习,帮顶!
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------帮顶。
------解决方案--------------------------------------------------------
combox不是有SelectedText和SelectedItem这个属性吗,既然在datagrid里面你试试看。
------解决方案--------------------------------------------------------帮顶
------解决方案--------------------------------------------------------學習了幫頂~
------解决方案--------------------------------------------------------
其中column1为DataGridViewComboBoxColumnName,这样子就ok了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式