Shuxia Ning
2024-11-25 d4898c5d7e1bbbbba384a0e29f29c066d6f502a7
WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs
@@ -1,6 +1,5 @@
using DevExpress.Utils;
using DevExpress.Utils.Design;
using DevExpress.Utils.Extensions;
namespace Yw.WinFrmUI
{
@@ -19,25 +18,54 @@
        /// <summary>
        /// 聚焦改变事件
        /// </summary>
        public event Action<SimpleTreeViewModel> FocusedChangedEvent;
        public event Action<HydroWorkingVmo> FocusedChangedEvent;
        /// <summary>
        /// 水力点击事件
        /// </summary>
        public event Action<HydroWorkingVmo> HydroClickEvent;
        /// <summary>
        /// 所有绑定列表
        /// </summary>
        private List<SimpleTreeViewModel> _allBindingList = null;
        private List<HydroWorkingTreeViewModel> _allBindingList = null;
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(List<SimpleTreeViewModel> allList)
        public void SetBindingData(List<HydroWorkingVmo> allWorkingList)
        {
            _allBindingList = new List<SimpleTreeViewModel>();
            allList?.ForEach(x =>
            _allBindingList = new List<HydroWorkingTreeViewModel>();
            allWorkingList?.ForEach(x =>
            {
                _allBindingList.Add(x);
                var vm = new HydroWorkingTreeViewModel(x);
                _allBindingList.Add(vm);
            });
            this.treeList1.DataSource = _allBindingList;
            this.treeList1.ForceInitialize();
        }
        /// <summary>
        /// 选择
        /// </summary>
        public void Select(HydroWorkingVmo working)
        {
            var allNodeList = this.treeList1.GetNodeList();
            foreach (var node in allNodeList)
            {
                var vm = this.treeList1.GetDataRecordByNode(node) as HydroWorkingTreeViewModel;
                if (vm != null)
                {
                    if (vm.Vmo.ID == working.ID)
                    {
                        if (this.treeList1.FocusedNode != node)
                        {
                            this.treeList1.FocusedNode = node;
                        }
                        return;
                    }
                }
            }
        }
        /// <summary>
@@ -107,7 +135,6 @@
            set { this.bar1.Visible = value; }
        }
        //全部展开
        private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -138,10 +165,16 @@
        //聚焦节点改变
        private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
        {
            var vm = this.treeList1.GetDataRecordByNode(e.Node) as SimpleTreeViewModel;
            this.FocusedChangedEvent?.Invoke(vm);
            var vm = this.treeList1.GetDataRecordByNode(e.Node) as HydroWorkingTreeViewModel;
            this.FocusedChangedEvent?.Invoke(vm?.Vmo);
        }
        //点击事件
        private void treeList1_RowClick(object sender, DevExpress.XtraTreeList.RowClickEventArgs e)
        {
            var vm = this.treeList1.GetDataRecordByNode(e.Node) as HydroWorkingTreeViewModel;
            this.HydroClickEvent?.Invoke(vm?.Vmo);
        }
    }