private void treeLayer_AfterCheckNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e) { this.cbProperty.Properties.Items.Clear(); this.selectFeatureClass.Clear(); try { List <string> list = new List <string>(); List <TreeListNode> treeListNodes = this.treeLayer.GetAllCheckedNodes(); foreach (TreeListNode node in treeListNodes) { object obj = node.GetValue("NodeObject"); if (obj is DF2DFeatureClass) { DF2DFeatureClass dffc = obj as DF2DFeatureClass; IFeatureClass fc = dffc.GetFeatureClass(); selectFeatureClass.Add(dffc); FacilityClass fac = dffc.GetFacilityClass(); if (fc == null || dffc == null) { continue; } IFields fiCol = fc.Fields; if (aliaNameAndName.Count > 0) { for (int i = 0; i < fiCol.FieldCount; i++) { string str = fiCol.get_Field(i).AliasName; string str2 = fiCol.get_Field(i).Name; //aliaNameAndName.Add(str, str2); FieldInfo fi = fac.GetFieldInfoByName(str2); if (fi == null) { continue; } else if (fi.CanQuery) { list.Add(str); } } } else { for (int i = 0; i < fiCol.FieldCount; i++) { string str = fiCol.get_Field(i).AliasName; string str2 = fiCol.get_Field(i).Name; aliaNameAndName.Add(str, str2); FieldInfo fi = fac.GetFieldInfoByName(str2); if (fi == null) { continue; } else if (fi.CanQuery) { list.Add(str); } } } } } if (list.Count > 0) { foreach (string str2 in from v in list.Distinct <string>() orderby v select v) { if (!string.IsNullOrEmpty(str2)) { this.cbProperty.Properties.Items.Add(str2); } } } } catch (System.Exception ex) { } //try //{ // List<string> list = new List<string>(); // foreach (TreeListNode node in this.treeLayer.GetAllCheckedNodes()) // { // object obj = node.GetValue("NodeObject"); // if (obj is DF2DFeatureClass) // { // DF2DFeatureClass dffc = obj as DF2DFeatureClass; // IFeatureClass fc = dffc.GetFeatureClass(); // FacilityClass fac = dffc.GetFacilityClass(); // if (fc == null || fac == null) continue; // DFDataConfig.Class.FieldInfo fi = fac.GetFieldInfoBySystemName(); // IFields fiCol = fc.Fields; // int index = fiCol.FindField(fi.Name); // if (index < 0) continue; // IField pField = fiCol.get_Field(index); // IQueryFilter filter = new QueryFilterClass(); // filter.SubFields = pField.Name; // IFeatureCursor ftCursor = fc.Search(filter, true); // IFeature pfeature = ftCursor.NextFeature(); // while (pfeature != null) // { // string temp = pfeature.get_Value(index).ToString(); // if (temp != null) list.Add(temp); // pfeature = ftCursor.NextFeature(); // } // } // } //} //catch (System.Exception ex) //{ //} }