以下函数为在Arcengine中通过图层序号以及行列号来进行属性查询。
index代表所需选择要素所在图层,row为该要素行号,column为列号,返回值是string型。如有疑问,请发送邮件至本人。
public string Get_AttByIndexRC(int index, int row,int column)
{
string data = "";
IFeatureLayer currentFeatureLayer = axMapControl1.get_Layer(index) as IFeatureLayer;
IMap map = axMapControl1.Map;
IFeatureSelection featureSelection = currentFeatureLayer as IFeatureSelection;
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "OBJECTID = "+ row;
IActiveView activeView1 = map as IActiveView;
featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, false); IActiveView activeView = axMapControl1 as IActiveView;
ISelection selection = map.FeatureSelection;
IEnumFeatureSetup iEnumFeatureSetup = (IEnumFeatureSetup)selection;
iEnumFeatureSetup.AllFields = true;
IEnumFeature enumFeature = (IEnumFeature)iEnumFeatureSetup;
enumFeature.Reset();
IFeature feature = enumFeature.Next();
while (feature != null)
{
data = feature.get_Value(column).ToString();
feature = enumFeature.Next();
}
return data;
}