WPF datagrid 中 DataGridComboBoxColumn 和 DataGridCheckBoxColumn 使用方法

本文详细介绍了如何根据不同的编辑类型(DropdownList, CheckBox, Text)自动生成并初始化相应的DataGrid控件,包括ComboBoxColumn, CheckBoxColumn, TextColumn等。此外,文章还演示了如何在绑定数据源前针对特定列进行初始化操作,例如设置星期显示方式和单位选择项。


生成列 :

  if (entity.EditType == "DropDownList")
                {
                    DataGridComboBoxColumn cob = new DataGridComboBoxColumn();
                    cob.Header = entity.Name;
                    cob.SelectedValueBinding = new Binding(entity.Code);
                    Columns.Add(cob);
                    if (entity.GridWidth == 0)
                    {
                        cob.Visibility = Visibility.Hidden;
                    }
                }
                else if (entity.EditType == "CheckBox") {
                    DataGridCheckBoxColumn chk = new DataGridCheckBoxColumn();
                    chk.Binding = new Binding(entity.Code);
                    chk.Header = entity.Name;
                    Columns.Add(chk);
                    if (entity.GridWidth == 0)
                    {
                        chk.Visibility = Visibility.Hidden;
                    }
                }
                else
                {
                    DataGridTextColumn column = new DataGridTextColumn();
                    column.Binding = new Binding(entity.Code);
                    column.Header = entity.Name;
                    column.Width =(int)entity.GridWidth;
                    Columns.Add(column);
                    if (entity.GridWidth == 0)
                    {
                        column.Visibility = Visibility.Hidden;
                    }
                }

  给dataview 绑定数据源之前初始化控件

  foreach(DataGridColumn col in dgGrid.Columns){
                if (col.SortMemberPath.ToString() == "WeekDay")
                {
                    //初始化grid 中的 星期
                    DataGridComboBoxColumn cob = (DataGridComboBoxColumn)col;
                    cob.SelectedValuePath = "Value";
                    cob.DisplayMemberPath = "Key";
                    cob.ItemsSource = list;
                }
                if (col.SortMemberPath.ToString() == "Unit")
             {
                   //初始化grid 中的单位
                 initUnit();
                 var chargeUnitList = from item in ClientInfo.Dictionaries where item.CatalogID == 34 select item;                 
                 DataGridComboBoxColumn cob = (DataGridComboBoxColumn)col;
                 cob.SelectedValuePath =  C_DictionaryInfoEntity.DICTIONARYID_FIELD;
                 cob.DisplayMemberPath = C_DictionaryInfoEntity.DICTIONARYNAME_FIELD;
                 cob.ItemsSource = chargeUnitList;
             }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值