C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用啥方法解决的啊。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用啥方法解决的啊。相关的知识,希望对你有一定的参考价值。

C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用什么方法解决的啊。能帮我一下不?

SelectedIndexChanged事件。
如果你的combobox控件名为comboBox1,那么可以这样注册事件:
comboBox1.SelectedIndexChanged+=new EventHandler(comboBox1_SelectedIndexChanged);

然后,当选项改变时,可以在以下事件中处理:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

//你的处理代码,sender为combobox控件,使用前需先转换为ComboBox类型
追问

你说的这种方式我用了。只是我用的是datagridview的EditingControlShowing事件。可以得到选择的值。但是有个奇怪现象就是。我在SelectedIndexChanged中添加了一个messageBox的调试信息,每次comboBox的值发生改变后,messageBox都会弹出很多次。

追答

哦,我大概明白楼主的问题了。
你是不是在EditingControlShowing事件里,注册了combobox的SelectedIndexChanged事件?
如果是的话,那来回选择下拉框次数多了,的确会弹出好几次messagebox,因为你注册了多次SelectedIndexChanged事件,程序会在之后的选择中,弹出你注册次数的messagebox数。
这个问题只需要在注册(+=)之前,先注销事件(-=)就行了,保证每个combobox只注册了一次。
第一次用-=时会有错误,因为还没注册就注销了,所以可以在-=处try catch下。

参考技术A 没弄明白你的主要意图,你是要触发那个事件来干嘛的?
你可以写datagridview的CellValueChanged来触发事件,这个事件的功能就是当datagridview中的单元格数据发生变化时引发的事件,string da = (cmbDay.SelectedIndex+1).ToString(); //定义一个变量来接收combobox中选择的值。
在将值赋给datagridview的单元格 如下:
da=datagridview.Rows[e.RowIndex].Cells[3].Value.ToString();//表示赋给当前行第四个单元格
这是我根据你提问的大概理解做出的答案,希望对你有所帮助.....有不明白的可以随时找哦!!追问

我要实现的效果是这样子:我自己生成了datagridView的整体结构,根据查询得到的dataTable的数据,将信息添加到datagridview的指定列中。并在后面增加了一列DataGridViewComboBoxColumn,根据DataGridViewComboBoxColumn中选择值不同,再调用不同的form出来处理相关信息。
现在遇到的问题就是我在SelectedIndexChanged中添加了一个messageBox的调试信息,每次comboBox的值发生改变后,messageBox都会弹出很多次。不知道怎么处理。

追答

那你试下datagridview的CellValueChanged事件,这个应该可以解决你的问题。

参考技术B CellValidated 或 CellValueChanged 事件 你试下本回答被提问者和网友采纳 参考技术C 用值改变事件可以么,你想要什么效果啊

winform datagridview 绑定 list .c#

winform 的 datagridview绑定了一个list , list可以显示 , 在datagridview上可以直接修改每个单元格的值 , 可是修改后被绑定的这个list相应的值没有更新 , 请问怎么搞? 得到修改后的list .

请使用DataGridView.EndEdit方法 参考技术A 你把问题说清楚了,你所说的这个list是数据集?还是List泛型类,还是类似ListBox的控件追问

数据集合 List 这样

追答

那是肯定不会改变的,你修改的是DataGridView单元格中的内容,而非List数据集,要想同时修改,你需要把List与DataGridView.DataSource同时更新。

以上是关于C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用啥方法解决的啊。的主要内容,如果未能解决你的问题,请参考以下文章

C#winform问题 datagridview中combobox选项改变触发事件用哪个方法

如何使用动态枢轴c#winform将总计列和行插入datagridview

winform datagridview 绑定 list .c#

C#Winform中DataGridView合并单元格的问题?

用c#winform拖的datagridview控件,当选中一行数据以后鼠标离开之后,就选不中了

C#winform中datagridview导出Excel