From fa113f04a917e85af84813487f033fb6bc43a5d7 Mon Sep 17 00:00:00 2001 From: lu <123456> Date: 星期六, 20 九月 2025 15:04:35 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/UserControl/UcDictionarySelect.cs | 84 +++++++++++++++++++++++++++++------------ 1 files changed, 59 insertions(+), 25 deletions(-) diff --git a/DevApp/Gs.DevApp/UserControl/UcDictionarySelect.cs b/DevApp/Gs.DevApp/UserControl/UcDictionarySelect.cs index 352f8b2..87cea74 100644 --- a/DevApp/Gs.DevApp/UserControl/UcDictionarySelect.cs +++ b/DevApp/Gs.DevApp/UserControl/UcDictionarySelect.cs @@ -6,6 +6,8 @@ using System; using System.Collections.Generic; using System.Data; +using System.Drawing; +using System.Threading.Tasks; using System.Windows.Forms; @@ -16,18 +18,48 @@ private List<dynamic> lstCheckedKeyID = new List<dynamic>();//閫夋嫨闆嗗悎 string strTitle = ""; string strWhere = ""; - public UcDictionarySelect(string _strTitle, string _strWhere) + public UcDictionarySelect(string _strTitle, string _strWhere, string _strMsg = "") { InitializeComponent(); + lbMsg.Text = _strMsg; this.strTitle = _strTitle; this.strWhere = _strWhere; this.Text = _strTitle; - getTree(); + tlMenu.IndicatorWidth = 50; + tlMenu.CustomDrawNodeIndicator += (s, ee) => + { + if (ee.IsNodeIndicator) + { + var index = ee.Node.TreeList.GetVisibleIndexByNode(ee.Node); + ee.Info.DisplayText = (index + 1).ToString(); + } + }; + getTreeAsync(); + tlMenu.MouseDown += (s, e) => + { + TreeListHitInfo hitInfo = tlMenu.CalcHitInfo(new Point(e.X, e.Y)); + if (hitInfo.HitInfoType == HitInfoType.Cell) + { + TreeListNode node = hitInfo.Node; + if (node != null) + { + if (node.HasChildren) // 鍙湁褰撹妭鐐规湁瀛愯妭鐐规椂鎵嶈�冭檻灞曞紑鎴栨姌鍙� + { + if (node.Expanded) + { + node.Collapse(); + btnOpen.Text = "鍏ㄩ儴灞曞紑"; + } + else + { + node.Expand(); + btnOpen.Text = "鍏ㄩ儴鏀舵嫝"; + } + } + } + } + }; tlMenu.CustomDrawNodeCheckBox += TreeList1_CustomDrawNodeCheckBox; - // tlMenu.OptionsBehavior.Editable = true; - tlMenu.OptionsSelection.EnableAppearanceFocusedCell = false; - // tlMenu.OptionsSelection.MultiSelect = true; - // tlMenu.OptionsSelection.MultiSelectMode = TreeListMultiSelectMode.CellSelect; btnIn.Click += (s, e) => { findOrigin(tlMenu); @@ -39,17 +71,25 @@ dicCode = key.dicCode, dicTxt = key.dicTxt }); - }; + } + ; UpdateParent?.Invoke(this, new UpdateParentEventArgs { DynamicList = list }); Close(); }; - tlMenu.IndicatorWidth = 50; - tlMenu.CustomDrawNodeIndicator += (s, ee) => - { - if (ee.IsNodeIndicator) + btnOpen.Click += (s, e) => { + + if (btnOpen.Text == "鍏ㄩ儴灞曞紑") { - var index = ee.Node.TreeList.GetVisibleIndexByNode(ee.Node); - ee.Info.DisplayText = (index + 1).ToString(); + tlMenu.ExpandAll(); + btnOpen.Text = "鍏ㄩ儴鏀舵嫝"; + return; + } + + if (btnOpen.Text == "鍏ㄩ儴鏀舵嫝") + { + tlMenu.CollapseAll(); + btnOpen.Text = "鍏ㄩ儴灞曞紑"; + return; } }; } @@ -71,17 +111,10 @@ e.Handled = true; } } - - // 鍙�夛細澶勭悊鑺傜偣灞曞紑浜嬩欢锛岀‘淇濆姩鎬佸姞杞界殑瀛愯妭鐐圭敓鏁� - private void treeList1_BeforeExpand(object sender, BeforeExpandEventArgs e) - { - // 鑻ュ瓙鑺傜偣鏄姩鎬佸姞杞界殑锛屽湪姝ゅ鍔犺浇鏁版嵁 - // LoadChildNodes(e.Node); - } /// <summary> /// 璇诲彇鍒楄〃 /// </summary> - private void getTree() + private async Task getTreeAsync() { string _where = " and 1=1 and a.type1=1 and " + this.strWhere; var pgq = new PageQueryModel(1, 999999, "a.defect_name", "asc", "", _where); @@ -97,18 +130,17 @@ tlMenu.ParentFieldName = "pid"; tlMenu.Tag = "defectName"; tlMenu.EndUpdate(); - this.tlMenu.CollapseAll(); - // tlMenu.OptionsBehavior.Editable = true; tlMenu.OptionsBehavior.AllowRecursiveNodeChecking = false; tlMenu.BestFitColumns(); - tlMenu.ExpandAll(); + tlMenu.CollapseAll(); } catch (Exception ex) { MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } + await Task.Delay(500); // 绛夊緟1000姣锛�1绉掞級 + tlMenu.CollapseAll(); } - #region MyRegion @@ -171,5 +203,7 @@ } } #endregion + + } } \ No newline at end of file -- Gitblit v1.9.3