AE 导入mdb/gdb/shp时添加Feature要素
IFeatureWorkspace pFeatWorkspace = null;
//ComnLib.OpenFeatureclassDialog.frmGxDialog pGxDialog = new ComnLib.OpenFeatureclassDialog.frmGxDialog();
pGxDialog.Title = "添加数据";
pGxDialog.Filter = "FeatureClass";
pGxDialog.MultSelect = false;
if (pGxDialog.ShowDialog() == DialogResult.OK)
{
string strWsName = pGxDialog.currentPath;//workspace位置
List<string> strFcNames = pGxDialog.FileNames;//featureclass名称
IFeatureClass pfeatureclass = null;
if (pGxDialog.FileType == 1)
{
IWorkspaceFactory pAccessFactory = new AccessWorkspaceFactoryClass();
IWorkspace pWorkspace = pAccessFactory.OpenFromFile(strWsName, 0);
pFeatWorkspace = pWorkspace as IFeatureWorkspace;
}
else if (pGxDialog.FileType == 2)
{
IWorkspaceFactory pAccessFactory = new FileGDBWorkspaceFactoryClass();
IWorkspace pWorkspace = pAccessFactory.OpenFromFile(strWsName, 0);
pFeatWorkspace = pWorkspace as IFeatureWorkspace;
}
else if (pGxDialog.FileType == 0)
{
IWorkspaceFactory workspaceFactory = new ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass();
IWorkspace workSpace = workspaceFactory.OpenFromFile(strWsName, 0);
pFeatWorkspace = workSpace as IFeatureWorkspace;
}
if (strFcNames.Count > 0)
{
for (int i = 0; i < strFcNames.Count; i++)
{
pfeatureclass = pFeatWorkspace.OpenFeatureClass(strFcNames[i]);
if (pfeatureclass == null) continue;
string name = pfeatureclass.AliasName;
this.dataGridView1.Rows.Add(strFcNames[i], strWsName + "\\" + strFcNames[i]);
dataGridView1.Rows[i].Tag = pfeatureclass;
}
}
this.dataGridView1.Refresh();
}
浙公网安备 33010602011771号