using DevExpress.Utils; using DevExpress.XtraEditors; namespace HStation.WinFrmUI.Basic { /// /// /// public partial class SysFlagTreeListCtrl : XtraUserControl { public SysFlagTreeListCtrl() { InitializeComponent(); this.treeList1.InitialDefaultSettings(); this.treeList1.SelectImageList = ImageLib.Lib; } /// /// 聚焦改变事件 /// public event Action FocusedChangedEvent; private List _allBindingList = null; private Yw.BLL.SysType _bll = null; private Yw.BLL.SysModule _Modulebll = null; /// /// 绑定数据 /// public void Clear() { this.FocusedChangedEvent?.Invoke(default); } /// /// 绑定数据 /// public async void SetBindingData() { _allBindingList = new List(); var alllist = await SysTypeHelper.GetSysTypeTreeList(); if (alllist == null) return; foreach (var item in alllist) { var module = new SysTypeTreeListViewModel(item.Module); _allBindingList.Add(module); foreach (var child in item.Children) { var children = new SysTypeTreeListViewModel(child); _allBindingList.Add(children); } } this.moduleViewModelBindingSource.DataSource = _allBindingList; this.moduleViewModelBindingSource.ResetBindings(false); this.treeList1.ExpandAll(); } //聚焦改变 private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } FocusedChangedEvent.Invoke(currentVm.ID); } #region 菜单事件 //检索 private void barCkSearch_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.barBtnSearchBox.Checked) layoutControlItemSearch.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; else layoutControlItemSearch.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } #endregion 菜单事件 //获取当前选中id public long GetCurrentID() { var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return default; } if (currentVm.ParentID == 0) { MessageBoxHelper.ShowWarning("请选择具体类型!"); return default; } return currentVm.ID; } //全部折叠 private void barBtnCollapseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.CollapseAll(); } //全部展开 private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.ExpandAll(); } //全部展开 private void barBtnExpandAll_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.ExpandAll(); } //全部折叠 private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.CollapseAll(); } //展示树线 private void barCkTreeLine_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.OptionsView.ShowTreeLines = this.barCkTreeLine.Checked ? DefaultBoolean.True : DefaultBoolean.False; } //刷新 private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.SetBindingData(); } } }