using ESRI.ArcGIS.Geodatabase;
using System.Collections;
using ESRI.ArcGIS.Carto;
函数代码:
/// <summary>
/// 得到要素类某字段的唯一值
/// </summary>
/// <param name="pFeatureClass">要素类</param>
/// <param name="strFld">指定要得到唯一值的字段</param>
/// <returns>唯一值字符数据</returns>
public static List<string> GetUniqueValue(IFeatureClass pFeatureClass, string strFld)
{
//得到IFeatureCursor游标
IFeatureCursor pCursor = pFeatureClass.Search(null, false);
//coClass对象实例生成
IDataStatistics pData=new DataStatisticsClass();
pData.Field=strFld;
pData.Cursor=pCursor as ICursor;
//枚举唯一值
IEnumerator pEnumVar=pData.UniqueValues ;
//可记录总条数:int RecordCount=pData.UniqueValueCount;
//定义List泛型
List<string> plist = new List<string>();
pEnumVar.Reset();
while(pEnumVar.MoveNext())
{
plist.Add(pEnumVar.Current.ToString());
}
return plist;
}
事件代码:
private void Form1_Load(object sender, EventArgs e)
{
ILayer player = axMapControl1.get_Layer(0);
IFeatureLayer pfeatureLayer = player as IFeatureLayer;
IFeatureClass pfeatureClass = pfeatureLayer.FeatureClass;
GetUniqueValue(pfeatureClass, "省名");
}
获取数据表中某字段唯一值
最新推荐文章于 2022-06-26 17:11:58 发布