private bool BindingMemberInfoInDataManager(I3TreeViewBindingMemberInfo bindingMemberInfo) { this.keyDescriptor = null; this.parentKeyDescriptor = null; this.displayDescriptor = null; this.sortDescriptor = null; this.checkDescriptor = null; this.imageDescriptor = null; if (this.dataManager != null) { PropertyDescriptorCollection itemProperties = this.dataManager.GetItemProperties(); int count = itemProperties.Count; for (int i = 0; i < count; i++) { //if (!typeof(IList).IsAssignableFrom(itemProperties[i].PropertyType))//??????????????? //{ if (itemProperties[i].Name.Equals(bindingMemberInfo.KeyMember)) { this.keyDescriptor = itemProperties[i]; } if (itemProperties[i].Name.Equals(bindingMemberInfo.ParentKeyMember)) { this.parentKeyDescriptor = itemProperties[i]; } if (itemProperties[i].Name.Equals(bindingMemberInfo.DisplayMember)) { this.displayDescriptor = itemProperties[i]; } if (itemProperties[i].Name.Equals(bindingMemberInfo.SortMember)) { this.sortDescriptor = itemProperties[i]; } if (itemProperties[i].Name.Equals(bindingMemberInfo.CheckMember)) { this.checkDescriptor = itemProperties[i]; } if (itemProperties[i].Name.Equals(bindingMemberInfo.ImageMember)) { this.imageDescriptor = itemProperties[i]; } //} } if (this.keyDescriptor != null && this.parentKeyDescriptor != null && this.displayDescriptor != null) { return(true); } } return(false); }
public override bool Equals(object obj) { if (obj == null || obj.GetType() != typeof(I3TreeViewBindingMemberInfo)) { return(false); } I3TreeViewBindingMemberInfo dest = obj as I3TreeViewBindingMemberInfo; return(string.Equals(this.keyMember, dest.keyMember) && string.Equals(this.parentKeyMember, dest.parentKeyMember) && string.Equals(this.displayMember, dest.displayMember) && string.Equals(this.sortMember, dest.sortMember) && this.sortMode == dest.sortMode && string.Equals(this.imageMember, dest.imageMember)); }
private void SetDataConnection(object newDataSource, I3TreeViewBindingMemberInfo newBindingInfo, bool force) { bool flag = this.dataSource != newDataSource; bool flag2 = !this.bindingInfo.Equals(newBindingInfo); if (!this.inSetDataConnection) { try { if ((force || flag) || flag2) { this.inSetDataConnection = true; this.nodeList.Clear(); this.Nodes.Clear(); IList list = (this.DataManager != null) ? this.DataManager.List : null; bool flag3 = this.DataManager == null; this.UnwireDataSource(); this.dataSource = newDataSource; this.bindingInfo = newBindingInfo; this.WireDataSource(); if (this.isDataSourceInitialized) { CurrencyManager manager = null; if (((newDataSource != null) && (this.BindingContext != null)) && (newDataSource != Convert.DBNull)) { manager = (CurrencyManager)this.BindingContext[newDataSource]; } if (this.dataManager != manager) { if (this.dataManager != null) { this.dataManager.PositionChanged -= new EventHandler(this.DataManager_PositionChanged); this.dataManager.ListChanged -= new ListChangedEventHandler(dataManager_ListChanged); } this.dataManager = manager; if (this.dataManager != null) { this.dataManager.PositionChanged += new EventHandler(this.DataManager_PositionChanged); this.dataManager.ListChanged += new ListChangedEventHandler(dataManager_ListChanged); } } if (((this.dataManager != null) && (flag2 || flag)) && (((this.bindingInfo != null) && this.bindingInfo.Check()) && !this.BindingMemberInfoInDataManager(this.bindingInfo))) { throw new ArgumentException("BindingMemberInfo Error"); } //if (((this.dataManager != null) && ((flag || flag2) || force)) && (flag2 || (force && ((list != this.dataManager.List) || flag3)))) //{ //this.DataManager_ItemChanged(this.dataManager, null); //} } this.InitNodes(); if (this.Nodes.Count > 0) { this.SelectedNode = this.Nodes[0]; } //this.displayMemberConverter = null; } //if (flag) //{ // this.OnDataSourceChanged(EventArgs.Empty); //} //if (flag2) //{ // this.OnBindingMemberInfoChanged(EventArgs.Empty); //} } finally { this.inSetDataConnection = false; } } }