• winform Combox绑定数据时不触发SelectIndexChanged事件


    做了一个仓库选择的联动,选了仓库选其下的货区,选了货区选其下的货架分区。每个combox初始化、绑定数据是都会触发SelectIndexChanged事件,相当头疼。

    后来无意中在网上看到了一种方法—— 假设combox为combox1。在绑定数据之前先combox.SelectIndexChanged-=combox_SelectIndexChanged;先把他的事件去掉。

    等绑完了再combox.SelectIndexChanged+=combox_SelectIndexChanged;加上。

    perfect!

    不过遇到一个问题,这样不能实现联动。我要在绑定数据之后自动完成联动选择。

    combox绑定数据的方法是这样的。

    combox1.DataSource=datatable1; ////////再绑定数据源时会第一次触发
    combox1.ValueMember=“value”;    ////////再绑定数据源时会第二次触发
    combox1.DisplayMember=“text”; /// 如果赋予ValueMember和DisplayMember的值一样的话则不触发,否则第三次触发。

    这时触发效果才和你选择一个选项时触发的效果一样。

    于是为了实现联动,我先设置ValueMember,然后combox.SelectIndexChanged+=combox_SelectIndexChanged;加上事件,再设置DisplayMember。OK,联动实现了。

    combox1.SelectIndexChanged-=combox1_SelectIndexChanged;///删除事件
    combox1.DataSource=datatable1; ////////再绑定数据源时会第一次触发
    combox1.ValueMember=“value”;    ////////再绑定数据源时会第二次触发
    combox1.SelectIndexChanged+=combox1_SelectIndexChanged;////注册事件
    combox1.DisplayMember=“text”; /// 如果赋予ValueMember和DisplayMember的值一样的话则不触发,否则第三次触发。
  • 相关阅读:
    [收藏]成大事必备9种能力9种手段9种心态
    招聘第一位网站编辑
    买了两本书
    并行计算Brahma :LINQtoGPU
    PostSharp 1.0 RTM发布了
    .NET StockTrader 2.0 新版本
    Windows Communication Foundation FAQ
    SQL Server 2008基于策略的管理
    WCF 性能基准报告
    ADO.NET实体框架连接串引发的异常:Unable to load the specified metadata resource
  • 原文地址:https://www.cnblogs.com/MLGB/p/3317617.html
Copyright © 2020-2023  润新知