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