当前位置: 首页 > article >正文

WPF的下拉复选框多选,数据来源数据库的表

页面控件使用                 

  <Label Style="{StaticResource ListSearch-Label}" Content="走货方式:"/>
                    <c1:C1ComboBox BorderThickness="1" Width="110"
                    <xctk:CheckComboBox Width="113" Style="{StaticResource ListSearch-XctkCheckComboBox}" 
                                        ItemsSource="{Binding ShippmentWayList,Mode=TwoWay}" 
                                        DisplayMemberPath="ShipWay" ValueMemberPath="ShipWay" 
                                        SelectedItemsOverride="{Binding ShippmentWayItems,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, 
                                        ValidatesOnExceptions=True, ValidatesOnDataErrors=True, NotifyOnValidationError=True}"
                                        SelectedValue="{Binding ShippmentWay, Mode=TwoWay}"/>

cs

  private ObservableCollection<dynamic> _shippmentWayItems;

        private string _shippmentWay;

        public string ShippmentWay
        {
            get
            {
                return _shippmentWay;
            }
            set
            {
                if (_shippmentWay != null && _shippmentWay.Contains("-1") && value != null && !value.Contains("-1"))
                {
                    _shippmentWayItems = new ObservableCollection<dynamic>() { };
                }

                  //等于-1这个可以护理,我的key和value用的都是中文
                else if (_shippmentWay != null && !_shippmentWay.Contains("-1") && value != null && value.Contains("-1"))
                {
                    _shippmentWay = InitWayStatus();
                    _shippmentWayItems = new ObservableCollection<dynamic>() { };
                    foreach (var item in ShippmentWayList)
                    {
                        _shippmentWayItems.Add(new { name = item.ShipWay, value = item.ShipWay });
                    }
                }
                _shippmentWay = value;
                if (SearchItem != null)
                {
                    SearchItem.ShippmentWay = _shippmentWay;
                }
                RaisePropertyChanged(() => ShippmentWayItems);
                RaisePropertyChanged(() => ShippmentWay);
            }
        }


        /// <summary>
        /// 获取所有走货方式数据来源数据库
        /// </summary>
        private void GetShipingWayList() 
        {
            string error;
            var list = _shipWayService.FindByIsShip((int)_fSaleType, out error);
            if (list == null)
            {
                ShippmentWayList = new ObservableCollection<ShipWayModel>();
            }
            else
            {
                ShippmentWayList = new ObservableCollection<ShipWayModel>(list);
            }
            RaisePropertyChanged(() => ShippmentWayList);
        }

 /// <summary>
        /// 默认走货方式的状态初始化,把这个方法放在初始化种
        /// </summary>
        /// <returns></returns>
        private string InitWayStatus()
        {
            var list = new List<string>();
            if (ShippmentWayList==null) {
                GetShipingWayList();
            }
            foreach (var item in ShippmentWayList)
            {
                list.Add(item.ShipWay);
            }
            return string.Join(",", list);
        }
 


 


http://www.kler.cn/a/460267.html

相关文章:

  • vue中的设计模式
  • Flume的安装和使用
  • Java 代码编译和解析方法信息
  • LLM(十二)| DeepSeek-V3 技术报告深度解读——开源模型的巅峰之作
  • SQL—替换字符串—replace函数用法详解
  • AI 自动化编程对编程教育的影响
  • 【人工智能机器学习基础篇】——深入详解深度学习之神经网络基础:理解前馈神经网络与反向传播算法
  • 医疗数仓配置Flume
  • 使用maven-mvnd替换maven大大提升编译打包速度
  • sublime 文件高亮设置
  • vim编辑器实用设置
  • VirtualBox新版本报错 Invalid installation directory解决方案
  • C#封送类
  • Tesseract-OCR 文字识别
  • 【Spring】Spring DI(依赖注入)详解—自动装配—byType实现原理
  • 智元与汇川加码,机器人如何利好电机市场?
  • Sigrity System SI SerialLink模式进行HDMI2协议仿真分析操作指导-TP1
  • AI安全的挑战:如何让人工智能变得更加可信
  • 【从零开始入门unity游戏开发之——C#篇41】C#迭代器(Iterator)——自定义类实现 foreach 操作
  • 图像处理-Ch7-小波函数
  • 开源大数据平台E-MapReduce
  • 【广州计算机学会、广州互联网协会联合主办 | ACM独立出版 | 高录用】第四届大数据、信息与计算机网络国际学术会议(BDICN 2025)
  • 【电路理论四】正弦电流电路
  • 前端经典面试合集(二)——Vue/React/Node/工程化工具/计算机网络
  • Log4j2的Filters配置详解(ThresholdFilter )
  • ROS自学笔记三十:话题消息输出并转换为Excel形式