From d7224f4f93aab16f0bc4ffed548de0f0d4e65fd0 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 23 九月 2024 23:55:46 +0800
Subject: [PATCH] 设置属性选择(未完成)

---
 WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs |   65 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 9 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs b/WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs
index d36babd..4151139 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/01-SysCatalogManage/SetSysPropForCatalogDlg.cs
@@ -1,8 +1,6 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraEditors.Repository;
-using System.Data;
-using System.Windows.Controls;
-using System.Windows.Forms;
+锘縰sing 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;
+            }
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3