读书人

datagridview控件中的DataGridViewCom

发布时间: 2012-03-23 12:06:21 作者: rapoo

datagridview控件中的DataGridViewComboBoxColumn使用时如何获取到下拉选项的SelectedIndex值
一般我们在使用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分别为显示的字符串和对应的枚举值。
[解决办法]
帮顶
[解决办法]
学习,帮顶!
[解决办法]
为什么不用DataGridViewComboBoxColumn
[解决办法]
帮顶。
[解决办法]
combox不是有SelectedText和SelectedItem这个属性吗,既然在datagrid里面你试试看。
[解决办法]
帮顶
[解决办法]

~
[解决办法]
this.column1.Items.IndexOf(this.dataGridView1.Rows[i].Cells[0].Value)
其中column1为DataGridViewComboBoxColumnName,这样子就ok了

读书人网 >C#

热点推荐