private void tree_GetChildrenData(DeluxeTreeNode parentNode, DeluxeTreeNodeCollection result, string callBackContext) { ServiceBrokerContext.Current.SaveContextStates(); try { InnerTreeContext context = JSONSerializerExecute.Deserialize <InnerTreeContext>(callBackContext); if (context.ShowDeletedObjects) { ServiceBrokerContext.Current.UseLocalCache = false; ServiceBrokerContext.Current.ListObjectCondition = ListObjectMask.All; } else { ServiceBrokerContext.Current.ListObjectCondition = ListObjectMask.Common; } OguObjectCollection <IOguObject> parents = UserOUControlSettings.GetConfig().UserOUControlQuery.GetObjects(((IOguObject)parentNode.ExtendedData).ID); //; OguMechanismFactory.GetMechanism().GetObjects<IOguObject>( // SearchOUIDType.Guid, ((IOguObject)parentNode.ExtendedData).ID); BindChildren(result, OnGetChildren(parents[0]), context.MultiSelect, context.ListMask, context.SelectMask); } finally { ServiceBrokerContext.Current.RestoreSavedStates(); } }
/// <summary> /// 初始化树的上下文属性 /// </summary> private void InitTreeContext() { InnerTreeContext context = new InnerTreeContext(); context.MultiSelect = this.MultiSelect; context.ListMask = this.ListMask; context.SelectMask = this.SelectMask; context.ShowDeletedObjects = this.ShowDeletedObjects; this.tree.CallBackContext = JSONSerializerExecute.Serialize(context); }