| | |
| | | using DevExpress.Utils; |
| | | using DevExpress.Utils.Extensions; |
| | | using DevExpress.Utils.Extensions; |
| | | |
| | | namespace Yw.WinFrmUI |
| | | { |
| | |
| | | public SelectHydroGradingPropTreeCtrl() |
| | | { |
| | | InitializeComponent(); |
| | | this.treeList1.InitialDefaultSettings(); |
| | | this.layoutControl1.SetupLayoutControl(); |
| | | //this.treeList1.SelectImageList = imgCollection16; |
| | | //this.treeList1.SelectImageList = svgImg16; |
| | | this.simpleTreeViewCtrl1.ToolBarVisible = false; |
| | | this.simpleTreeViewCtrl1.CloseSearchControl(); |
| | | this.simpleTreeViewCtrl1.ShowTreeLines = true; |
| | | this.simpleTreeViewCtrl1.FocusedChangedEvent += SimpleTreeViewCtrl1_FocusedChangedEvent; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 选择属性改变事件 |
| | | /// </summary> |
| | | public event Action<HydroGradingPropTreeViewModel> SelectedPropChangedEvent; |
| | | |
| | | //所有绑定列表 |
| | | private List<HydroGradingPropTreeViewModel> _allBindingList = null; |
| | | private Yw.Model.HydroModelInfo _hydro = null;//水力信息 |
| | | private List<HydroGradingPropTreeViewModel> _allBindingList = null;//所有绑定列表 |
| | | |
| | | /// <summary> |
| | | /// 初始化数据 |
| | | /// 绑定数据 |
| | | /// </summary> |
| | | public void InitialData() |
| | | public void SetBindingData(Yw.Model.HydroModelInfo hydro) |
| | | { |
| | | if (hydro == null) |
| | | { |
| | | return; |
| | | } |
| | | _hydro = hydro; |
| | | _allBindingList = new List<HydroGradingPropTreeViewModel>(); |
| | | var dictCatalogList = HydroParterCatalogHelper.GetSimpleDict(); |
| | | dictCatalogList.ForEach(x => |
| | | var catalogDict = HydroGradingCatalogHelper.GetDict(hydro); |
| | | catalogDict?.ForEach(x => |
| | | { |
| | | _allBindingList.Add(new HydroGradingPropTreeViewModel(x.Key, x.Value)); |
| | | var dictPropList = HydroParterPropHelper.GetDict(x.Key); |
| | | dictPropList.ForEach(t => |
| | | var propDict = HydroGradingPropHelper.GetNameDict(x.Key); |
| | | propDict?.ForEach(t => |
| | | { |
| | | _allBindingList.Add(new HydroGradingPropTreeViewModel(x.Key, t.Key, t.Value)); |
| | | }); |
| | | }); |
| | | |
| | | this.treeList1.DataSource = _allBindingList; |
| | | this.treeList1.ForceInitialize(); |
| | | this.treeList1.ExpandAll(); |
| | | } |
| | | var allTreeList = new List<SimpleTreeViewModel>(); |
| | | _allBindingList.ForEach(x => |
| | | { |
| | | var treeModel = new SimpleTreeViewModel() |
| | | { |
| | | Id = x.Id, |
| | | ParentId = x.ParentId, |
| | | Name = x.Name, |
| | | Tag = x |
| | | }; |
| | | allTreeList.Add(treeModel); |
| | | }); |
| | | |
| | | |
| | | //全部展开 |
| | | 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; |
| | | this.simpleTreeViewCtrl1.SetBindingData(allTreeList); |
| | | this.simpleTreeViewCtrl1.ExpandAll(); |
| | | } |
| | | |
| | | //聚焦节点改变 |
| | | private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) |
| | | private void SimpleTreeViewCtrl1_FocusedChangedEvent(SimpleTreeViewModel obj) |
| | | { |
| | | var vm = this.treeList1.GetDataRecordByNode(e.Node) as HydroGradingPropTreeViewModel; |
| | | var vm = obj?.Tag as HydroGradingPropTreeViewModel; |
| | | this.SelectedPropChangedEvent?.Invoke(vm); |
| | | } |
| | | |