ComboBox与DataGridView联合使用、ComboBox的SelectedIndexChanged和SelectionChangeCommitted事件的注意事项

本文介绍了在Windows Forms应用程序中,ComboBox与DataGridView结合使用时遇到的问题和解决方案,特别是探讨了ComboBox的SelectedIndexChanged和SelectionChangeCommitted事件的区别。文章通过示例代码展示了如何在ComboBox选择项变化时正确绑定DataGridView数据,避免因数据未加载导致的错误。

上次做项目的时候遇到了些问题关于ComboBox的SelectedIndexChanged和SelectionChangeCommitted,调试了老半天,找了老半天的资料,总算是对ComboBox的SelectedIndexChanged和SelectionChangeCommitted有了一定的了解,下面与大家分享下,欢迎大家评论!

 

MSDN:SelectedIndexChanged是在 SelectedIndex 属性更改后发生,而SelectionChangeCommitted在选定项发生更改并且该更改显示在 ComboBox 中时发生.

简单的说:SelectedIndexChanged是在选择项发生改变时就触发了,而SelectionChangeCommitted是在选择项选择完,且ComboBox显示对应的值之后再触发,

 

示例程序:首先新建一个Form窗体,窗体上添加一个ComboBox(cmbProjectInfo)

1)绑定cmbProjectInfo

2)为cmbProjectInfo添加两个事件cmbProjectInfo_SelectedIndexChanged及cmbProjectInfo_SelectionChangeCommitted

 

代码如下:

功能说明:根据cmbProjectInfo的值绑定DataGridView数据

1、绑定cmbProjectInfo,绑定之后ComboBox依次显示abc、bcd(根据数据库)

 

 

 

2、处理SelectedIndexChanged

 

//程序运行之后系统会提示报错"输入字符串的格式不正确。"这是为什么呢,我在调试程序之后发现了,当你窗体加载绑定cmbProject时,程序就会跳到SelectedIndexChanged这个函数里面来,而这时数据根本就没有绑定上去,所以SelectedVaue选择到的值为空值,因此程序会报错。

 

3、处理SelectionChangeCommitted事件

 

 使用SelectionChangeCommitted会得到正确的结果如下

 根据不同的选项显示不同的数据

 

结束语:当项目中程序使用到了ComboBox及DataGridView,别且两者要结合起来用时,请大家选择合适的事件!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值