private IEnumerator getSortedList(string mField, ILayer mLayer, string whereclause) { IQueryFilter mQFilter = new QueryFilterClass(); mQFilter.WhereClause = whereclause; IEnumerator mEnumstreets = null; if (mLayer != null) { IFeatureLayer mFeatureLayer = (IFeatureLayer)mLayer; IFeatureClass pFeatureClass = mFeatureLayer.FeatureClass; if (pFeatureClass != null) { ITable pTable = (ITable)pFeatureClass; IFeatureCursor pCursor = pFeatureClass.Search(mQFilter, true); ITableSort mTableSort = new TableSortClass(); mTableSort.Table = pTable; mTableSort.Fields = mField; mTableSort.set_Ascending(mField, true); mTableSort.QueryFilter = mQFilter; mTableSort.Sort(null); IDataStatistics mDataStats = new DataStatisticsClass(); mDataStats.Cursor = mTableSort.Rows; mDataStats.Field = mField; mEnumstreets = mDataStats.UniqueValues; pCursor = null; } } return mEnumstreets; }
Solved! Go to Solution.
one more fix....line 21 in the property method UniqueValues
If row.Value(iField) isnot DBNull.value andalso dc.ContainsKey(row.Value(iField)) = False Then
dic.Add(row.Value(iField),"")
end if