lixiaojun
2024-11-23 979fa511e23ad4cb8d7e25b813aade4aaec45535
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,22 +18,28 @@
        /// <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();
@@ -107,7 +112,6 @@
            set { this.bar1.Visible = value; }
        }
        //全部展开
        private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -138,10 +142,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);
        }
    }