using DevExpress.Utils; using DevExpress.Utils.Extensions; namespace Yw.WinFrmUI { public partial class SelectHydroGradingPropTreeCtrl : DevExpress.XtraEditors.XtraUserControl { public SelectHydroGradingPropTreeCtrl() { InitializeComponent(); this.treeList1.InitialDefaultSettings(); this.layoutControl1.SetupLayoutControl(); //this.treeList1.SelectImageList = imgCollection16; //this.treeList1.SelectImageList = svgImg16; } /// /// 选择属性改变事件 /// public event Action SelectedPropChangedEvent; //所有绑定列表 private List _allBindingList = null; /// /// 初始化数据 /// public void InitialData() { _allBindingList = new List(); var dictCatalogList = HydroParterCatalogHelper.GetSimpleDict(); dictCatalogList.ForEach(x => { _allBindingList.Add(new HydroGradingPropTreeViewModel(x.Key, x.Value)); var dictPropList = HydroParterPropHelper.GetDict(x.Key); dictPropList.ForEach(t => { _allBindingList.Add(new HydroGradingPropTreeViewModel(x.Key, t.Key, t.Value)); }); }); this.treeList1.DataSource = _allBindingList; this.treeList1.ForceInitialize(); this.treeList1.ExpandAll(); } //全部展开 private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.ExpandAll(); } //全部折叠 private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.CollapseAll(); } //检索(menu) private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.layoutControlItem1.Visibility == DevExpress.XtraLayout.Utils.LayoutVisibility.Always) this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; else this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; } //树线 private void barCkTreeLine_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.OptionsView.ShowTreeLines = this.barCkTreeLine.Checked ? DefaultBoolean.True : DefaultBoolean.False; } //聚焦节点改变 private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { var vm = this.treeList1.GetDataRecordByNode(e.Node) as HydroGradingPropTreeViewModel; this.SelectedPropChangedEvent?.Invoke(vm); } } }