duheng
2024-09-23 d7224f4f93aab16f0bc4ffed548de0f0d4e65fd0
WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs
@@ -1,8 +1,6 @@
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository;
using System.Data;
using System.Windows.Controls;
using System.Windows.Forms;
using DevExpress.DataAccess.Wizard.Model;
using DevExpress.XtraEditors;
using Yw.Dto;
namespace HStation.WinFrmUI.Basic
{
@@ -12,6 +10,8 @@
        {
            InitializeComponent();
            this.gridView1.Columns["GroupName"].Group();
            repositoryItemCheckedComboBoxEdit1.DisplayMember = "Name";
            repositoryItemCheckedComboBoxEdit1.ValueMember = "ID";
        }
        private List<SysPropMappingViewModel> _allBindingList = new List<SysPropMappingViewModel>();
@@ -27,6 +27,8 @@
            var PropTreeList = await _bll.GetHaveListByCatalogID(ID);
            foreach (var item in PropTreeList)
            {
                repositoryItemCheckedComboBoxEdit1.Items.Clear();
                if (item.PropList.Count > 0)
                {
                    foreach (var child in item.PropList)
@@ -40,6 +42,8 @@
                        model.DefaultValue = child.DefaultValue;
                        model.UnitName = child.UnitName;
                        model.Inherit = child.Inherit;
                        model.ChoiceList = child.ChoiceList;
                        //   model.DisplayChoice = ;
                        //   model.ChoiceIds = child.ChoiceList;
                        _allBindingList.Add(model);
                    }
@@ -81,10 +85,53 @@
        private void gridView1_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e)
        {
            /*   if (quDaily.StatusEnum != QuDailyStatus.提交)
               {
                   e.Cancel = true;
               }*/
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                return;
            }
            if (vm.Inherit)
            {
                e.Cancel = true;
            }
            if (gridView1.FocusedColumn.Name == "gridColumn1")
            {
                repositoryItemCheckedComboBoxEdit1.Items.Clear();
                repositoryItemCheckedComboBoxEdit1.DataSource = vm.ChoiceList;
                //     repositoryItemCheckedComboBoxEdit1.edit
            }
        }
        private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            var gridView = sender as DevExpress.XtraGrid.Views.Grid.GridView;
            if (gridView != null)
            {
                foreach (var item in _allBindingList)
                {
                    int index = _allBindingList.IndexOf(item);
                    if (gridView.GetRowHandle(index) == e.RowHandle)
                    {
                        if (item.Inherit)
                        {
                            e.Appearance.BackColor = Color.Gray;
                        }
                        break;
                    }
                }
            }
        }
        private void repositoryItemCheckedComboBoxEdit1_EditValueChanged(object sender, EventArgs e)
        {
            var allselectList = repositoryItemCheckedComboBoxEdit1.GetCheckedItems();
            string[] parts = Convert.ToString(allselectList).Split(',');
            List<long> longs = parts.Select(part => long.Parse(part.Trim())).ToList();
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm != null)
            {
                vm.ChoiceIds = longs;
            }
        }
    }
}