Arcengine, C#,属性表浏览 //by yl总结 2008.6.18 landgis@126.com
public void LoadDatatoView(IMapControl2 pMapControl, IFeatureLayer pFeatureLayer, DataGridView dtGridView)
{
IFields pFields = pFeatureLayer.FeatureClass.Fields;
DataTable pDataTable = new DataTable();
for (int i = 0; i < pFields.FieldCount; i++)
{
string fldName;
fldName = pFields.get_Field(i).AliasName;
pDataTable.Columns.Add(fldName);
}
IFeatureCursor pFeatureCursor;
pFeatureCursor = pFeatureLayer.FeatureClass.Search(null, false);
IFeature pFeature;
pFeature = pFeatureCursor.NextFeature();
while (pFeature != null)
{
string fldValue = null;
DataRow dr = pDataTable.NewRow();
for (int i = 0; i < pFields.FieldCount; i++)
{
string fldName;
fldName = pFields.get_Field(i).Name;
if (fldName == "Shape")
{
fldValue = Convert.ToString(pFeature.Shape.GeometryType);
}
else
fldValue = Convert.ToString(pFeature.get_Value(i));
dr[i] = fldValue;
}
pDataTable.Rows.Add(dr);
pFeature = pFeatureCursor.NextFeature();
}
dtGridView.DataSource = pDataTable;
}