/// <summary> /// 清空所有的数据对象,释放资源 /// </summary> public void Clear() { _SelectedItem = null; _TreeRoot.Children.Clear(); AfterTreeListItemSelected = null; _TreeRoot = null; _DataSource = null; }
/// <summary> /// 创建树形视图项数据 /// </summary> /// <param name="data">指定树形项数据附加的数据表行数据</param> /// <param name="lazyLoadChildren">确定是否延迟加载</param> /// <param name="DelSel">传递当项被选中时执行的函数</param> public TreeListViewItemViewModel(DataRowView data, bool lazyLoadChildren, DelAfterSelectedList DelSel) { _children = new TreeListItems(this); _DataRowView = data; if (lazyLoadChildren) { _children.AddDummyChild(DummyChild); } AfterTreeListItemSelected = DelSel; }
/// <summary> /// 构造函数 /// </summary> /// <param name="lazyLoadChildren">确定是否延迟加载,=true使用延迟加载</param> /// <param name="DelSel">传递当项被选中时执行的函数</param> /// <param name="DelDisSel">传递当项取消选中时执行的函数</param> public TreeListViewItemViewModel(bool lazyLoadChildren, DelAfterSelectedList DelSel, DelAfterDisSelectedList DelDisSel) { _children = new TreeListItems(this);; if (lazyLoadChildren) { _children.AddDummyChild(DummyChild); } AfterTreeListItemSelected = DelSel; AfterTreeListItemsDiselected = DelDisSel; }
/// <summary> /// 创建对应表键值的数据视图 /// </summary> /// <param name="dtable">数据表</param> /// <param name="isUseDummyChild">设定是否使用延迟加载项</param> public TreeListDataTable(DataView dtable, string parentKey, string key, DelAfterSelectedList DelSel, bool isUseDummyChild = true, string isDummyChildField = "") { ParentKey = parentKey; Key = key; AfterTreeListItemSelected = DelSel; IsDummyChildField = isDummyChildField; //创建用于绑定的数据源 _TreeRoot = new TreeListViewItemViewModel(); //设定是否使用延迟加载项 IsUseDummyChild = isUseDummyChild; _DataSource = dtable; //记录数据对象 FillData(); //填充数据 }