一般我们在使用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中进行枚举型的赋值,我想这肯定不是一个好的方案,请各位大虾出出主意。
此处举例用:
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中进行枚举型的赋值,我想这肯定不是一个好的方案,请各位大虾出出主意。
解决方案 »
- C#如何操作EXCEL中自带的宏代码
- WinForm中Panel控件多个Combox,某个Combox下拉时,其他combox的值也跟着改变
- C#.net中做票据打印用什么比较好啊?水晶报表吗?该怎么做啊,怎么控制走纸呢,怎么对位置?
- 请问怎样读取txt中的中文 文字
- TabControl 选项卡宽度
- 急!!!在程序中动态生成的dialog如何取到它上面的textbox的值?
- 如何实现这样的自定义控件
- 按钮的Click事件执行2次的问题!
- 问:什么是钩子程序,hook,键盘和鼠标的钩子程序用在那些方面,能举个例子吗?
- 下面代码出错在哪里,运行总出错。
- 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
- winform自定義控件怎樣返回值給調用的窗體????
int index=cb.selectIndex;好像是这样的吧,你试试
其中column1为DataGridViewComboBoxColumnName,这样子就ok了
揭帖。
如果现在得到的是value值,即上面所说的Criterion m_etest = Criterion.Fail;
如果现在在表格中的DataGridViewComboBoxColumn列的(Collection)中分别为:Good(对应Pass),Sorry(对应Fail)。那么要通过m_etest来使DataGridViewComboBoxColumn的列显示为Sorry,如何实现啊。这个问题相当于所提问题的逆问题,恳请解答!
//刚才得到的index
int index=this.column1.Items.IndexOf(this.dataGridView1.Rows[i].Cells[0].Value) ;this.column1.Items[index] = m_etest[index];
this.dataGridView1.Rows[0].Cells[0].Value = m_etest[index];
dgv.Rows["你的行数"].Cells[”你的列数“].Value = 列名.Items[(int)m_etest]; 感谢回帖