1.获取要素属性表字段
FeatureClass带有Fields属性,可以用来得到字段值。
//获取图层
ILayer pLayer = axMapControl1.get_Layer(2);
IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; //转为要素图层
IFields pFields = pFeatureLayer.FeatureClass.Fields;
string mf = "";
for(int i = 0; i < pFields.FieldCount; i++)
{
mf += pFields.Field[i].Name+"\n"; //第几个参数
}
2、获取指定字段属性值
Feature类具有get_Field()方法,可以用来获取指定字段的属性值,需要注意的是,此处参数为int类型。
IFields pFields=pFeaClass.Fields;
for (int i = 0; i < pFields.FieldCount; i++)
{
dataGridView1.Columns.Add(pFields.Field[i].Name, pFields.Field[i].AliasName);
}
IFeatureCursor pFeaCursor = pFeaClass.Search(null, true);
IFeature pFeature=pFeaCursor.NextFeature();
while (pFeature != null)
{
int index= dataGridView1.Rows.Add();
for (int i = 0; i < pFields.FieldCount; i++)
{
dataGridView1.Rows[index].Cells[i].Value = pFeature.get_Value(i);
String[] val=new String[5];
dataGridView1.Rows.Add(val);
}
pFeature=pFeaCursor.NextFeature();
}