bug
lu
2 天以前 fa113f04a917e85af84813487f033fb6bc43a5d7
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
    }
}