上篇我们把下面代码注释掉,现在我们就实现这段代码
private void cmTOCOpenAttributeTable_Click(object sender,
EventArgs e)
{
FrmAttributeTable attributeTable = new FrmAttributeTable();
attributeTable.CreateAttributeTable(selectedTOCLayer);
attributeTable.Show((IWin32Window)this);
}
新建Windows窗体,命名为FrmAttributeTable,
然后只需拖进去个dataGridView控件即可,命名为:dataGridView1
添加命名空间
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Geodatabase;
添加字段:public DataTable attributeTable;
然后再添加如下代码即可
private static DataTable CreateDataTableByLayer(ILayer pLayer,
string tableName)
{
//创建一个DataTable表
DataTable pDataTable = new DataTable(tableName);
//取得ITable接口
ITable pTable = pLayer as ITable;
IField pField = null;
DataColumn pDataColumn;
//根据每个字段的属性建立DataColumn对象
for (int i = 0; i < pTable.Fields.FieldCount; i++)
{
pField = pTable.Fields.get_Field(i);
//新建一个DataColumn并设置其属性
pDataColumn = new DataColumn(pField.Name);
if (pField.Name == p