zoukankan      html  css  js  c++  java
  • 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的值一样的话则不触发,否则第三次触发。
  • 相关阅读:
    docker 容器简单使用
    C++ | 程序编译连接原理
    C++ | 虚拟地址空间
    python学习笔记(十)——进程间通信
    菜鸟教程-c
    现代操作系统-第三版-疑问
    小米C++面经
    面经积累-杂
    哈希表相关题目-leetcode简单
    字符串相关题目-leetcode简单(6-10/共51道)
  • 原文地址:https://www.cnblogs.com/MLGB/p/3317617.html
Copyright © 2011-2022 走看看