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();
}
}
}