做了一个仓库选择的联动,选了仓库选其下的货区,选了货区选其下的货架分区。每个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的值一样的话则不触发,否则第三次触发。

 

 

相关文章:

  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-19
相关资源
相似解决方案