C# winform ComboBox绑定数据源时触发SelectedIndexChanged事件的处理
ComboBox二级联动时,发现一个问题。如下
var wardList = (from ward in alarmInfoListselect new{ward.AlarmJQ,ward.AlarmJQName}).Distinct();List<WardInfo> wiList = new List<WardInfo>();foreach (var ward in wardList){WardInfo wi = new WardInfo();wi.AlarmJQ = ward.AlarmJQ;wi.AlarmJQName = ward.AlarmJQName;wiList.Add(wi);}cboWard.DataSource = wiList;cboWard.ValueMember = "AlarmJQ";cboWard.DisplayMember = "AlarmJQName";
private void cboWard_SelectedIndexChanged(object sender, EventArgs e){ var departmentList = (from department in alarmInfoListwhere department.AlarmJQ == cboWard.SelectedValue.ToString()select new{department.AlarmArea,department.AlarmAreaName}).Distinct();List<DepartmentInfo> diList = new List<DepartmentInfo>();DepartmentInfo diAll = new DepartmentInfo();diAll.AlarmArea = -1;diAll.AlarmAreaName = "全部";diList.Add(diAll);foreach (var department in departmentList){DepartmentInfo di = new DepartmentInfo();di.AlarmArea = department.AlarmArea;di.AlarmAreaName = department.AlarmAreaName;diList.Add(di);}cboDepartment.DataSource = diList;cboDepartment.DisplayMember = "AlarmAreaName";cboDepartment.ValueMember = "AlarmArea";}
cboWard绑定完后,会自动触发一遍SelectedIndexChanged事件,此时cboWard.SelectedValue是
List<WardInfo> wiList = new List<WardInfo>();
里面的WardInfo对象,而不是想要的
cboWard.ValueMember = "AlarmJQ";
value值,导致cboDepartment没有数据。
解决方式:
List<WardInfo> wiList = new List<WardInfo>();foreach (var ward in wardList){WardInfo wi = new WardInfo();wi.AlarmJQ = ward.AlarmJQ;wi.AlarmJQName = ward.AlarmJQName;wiList.Add(wi);}//去除委托cboWard.SelectedIndexChanged -= new EventHandler(cboWard_SelectedIndexChanged);cboWard.DataSource = wiList;cboWard.ValueMember = "AlarmJQ";cboWard.SelectedIndexChanged += new EventHandler(cboWard_SelectedIndexChanged);cboWard.DisplayMember = "AlarmJQName";
注意:
cboWard.SelectedIndexChanged += new EventHandler(cboWard_SelectedIndexChanged);cboWard.DisplayMember = "AlarmJQName";
DisplayMember一定要放到增加委托后面,否则联动失败。
如有什么问题,或者更好的方式,希望大家指正!
C# winform ComboBox绑定数据源时触发SelectedIndexChanged事件的处理相关推荐
- ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法
转载:http://hi.baidu.com/haoyun2012/item/d780ca157a29b239b9318080 感谢原作者 ComboBox最经常使用的事件就是SelectedInde ...
- 解决winform combobox绑定数据时触发changed事件
我们在使用comboBox组件时如果同时设置了SelectedIndexChanged事件,在绑定combobox事件时会先触发一下changed事件,怎么能在绑定时不触发,再绑定之后的用户选择触发呢 ...
- Winform 使用ComboBox.DataSource绑定数据会触发SelectedIndexChanged事件解决
1.绑定数据后再添加SelectedIndexChanged事件 2.SelectedIndexChanged事件中判断是否是选择项改变触发事件 if(ComboxBox1.ContainsFocus ...
- (论坛答疑点滴)为什么设置了DropDownList的AutoPostBack=True还是不能触发SelectedIndexChanged事件?...
有人问 (1)AutoPostBack="True" <asp:DropDownList id="DropDownList1" runat="s ...
- DropDownList 控件不能触发SelectedIndexChanged 事件的另一个原因
相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...
- DropDownList 控件不能触发SelectedIndexChanged 事件
相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...
- DropDownList控件不触发SelectedIndexChanged事件(转)
DropDownList控件不触发SelectedIndexChanged事件(转) 相信DropDownList 控件不能触发SelectedIndexChanged 原因以下几种: 1.DropD ...
- GridView触发SelectedIndexChanged事件
首先在GridView中必须加上"选择"的按钮,然后在Page_Load中添加 view plaincopy to clipboard protected void Page_Lo ...
- 为什么设置了DropDownList的AutoPostBack=True还是不能触发SelectedIndexChanged事件?
有人问 (1)AutoPostBack="True" <asp:DropDownList id="DropDownList1" runat="s ...
最新文章
- 嵌入式系统开发过程中遇到的——volatile
- 线性代数:第三章 矩阵的初等变换与线性方程组(2)线性方程组的解 初等方阵
- 计算机算法设计与分析之----- 递归与分治策略
- workerman mmo_2020了,我们为什么还在做MMO端游
- fullyRelease
- ASP.net mvc Code First 更新数据库
- Apache JMeter 记一次使用HTTP工具POST提交JSON数据进行送积分高并发压测(二)
- 剑指offer之求二叉树中两个节点的最低共同父节点
- 父类、派生类、方法重写、实例化后的执行顺序
- python美化输出模块_python日志处理模块
- (二) Keras 非线性回归
- ubunto应用软件
- java.lang.NoSuchMethodError示例
- Acrobat Reader DC 2019 for Mac(pdf文件阅读器) 中文直装
- myeclipse 配置 SVN
- (转载)php flush()刷新不能输出缓冲的原因分析
- 《Python和Pygame游戏开发指南》——导读
- 基于JAVA自行车租借管理系统计算机毕业设计源码+系统+lw文档+部署
- VS2008 Pocket PC 2003 SE仿真程序上网设置
- 【经典算法】:银行金额大写转换
热门文章
- 科技支撑助推南湖“智慧环保”
- .rar .zip 格式压缩/解压缩命令
- 2022-2028年全球与中国被动声纳系统行业深度分析报告
- 纸黄金最佳交易时间及技巧
- php清除文件夹下所有文件,学习猿地-php如何删除文件夹及其文件夹下所有文件...
- MongoDB--Python
- 手把手教你使用极致cms搭建2021资源网系统
- 【C语言从入门到入土】——“井字棋”
- javatype与oftype的区别
- php论坛网论文交易,php4论坛代写网站