BUG
lu
2025-07-02 9c38dbf93ea5b7dea6b34b03cb3143812b20147d
DevApp/Gs.DevApp/XtraForm1.cs
@@ -1,17 +1,10 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTreeList;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NModbus;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.IO;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp
{
@@ -20,76 +13,8 @@
        public XtraForm1()
        {
            InitializeComponent();
            tlMenu.CustomDrawNodeCheckBox += TreeList1_CustomDrawNodeCheckBox;
            getTree();
            // 初始化TreeList
            //tlMenu.BestFitColumns();
            //tlMenu.EndInit();
            //// 设置复选框显示模式
            //tlMenu.OptionsBehavior.Editable = true;
            //this.tlMenu.OptionsView.ShowCheckBoxes = true;
            //tlMenu.OptionsSelection.MultiSelect = true;
            ////tlMenu.OptionsSelection.MultiSelectMode = TreeListMultiSelectMode.;
            // 添加GetShowCheckBox事件处理器
            tlMenu.OptionsBehavior.Editable = true;
            tlMenu.OptionsSelection.EnableAppearanceFocusedCell = false;
            tlMenu.OptionsSelection.MultiSelect = true;
            tlMenu.OptionsSelection.MultiSelectMode = TreeListMultiSelectMode.CellSelect;
           // this.tlMenu.GetChildAtPoint += new DevExpress.XtraTreeList.GetChildNodeCheckBoxEventHandler(this.treeList_GetChildNodeCheckBox)
        }
        private void TreeList1_CustomDrawNodeCheckBox(object sender, DevExpress.XtraTreeList.CustomDrawNodeCheckBoxEventArgs e)
        {
            // 判断当前节点是否为叶子节点(无子节点)
            if (e.Node.Nodes.Count == 0)
            {
                // 允许绘制复选框(默认行为)
            }
            else
            {
                // 取消绘制复选框
                e.Handled = true;
            }
        }
        // 可选:处理节点展开事件,确保动态加载的子节点生效
        private void treeList1_BeforeExpand(object sender, BeforeExpandEventArgs e)
        {
            // 若子节点是动态加载的,在此处加载数据
            // LoadChildNodes(e.Node);
        }
        /// <summary>
        ///     读取列表
        /// </summary>
        private void getTree()
        {
            var pgq = new PageQueryModel(1, 999999, "a.idx");
            var json = JsonConvert.SerializeObject(pgq);
            try
            {
                var strReturn =
                    UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                tlMenu.DataSource = dt;
                tlMenu.KeyFieldName = "guid";
                tlMenu.ParentFieldName = "upGuid";
                tlMenu.Tag = "name";
                tlMenu.EndUpdate();
                this.tlMenu.CollapseAll();
                tlMenu.OptionsBehavior.Editable = true;
                tlMenu.OptionsBehavior.AllowRecursiveNodeChecking = false;
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
    }
}