private void treeView_Layer_AfterSelect(object sender, TreeViewEventArgs e) { string vLyaerName = e.Node.Name; ILayer layer = VMainForm.GetLayerFromName(vLyaerName); IFeatureLayer vFeatureLayer = layer as IFeatureLayer; DataTable vTable = CommonUnit.CreateFeaturesTableStruct(vFeatureLayer.FeatureClass); int vFeatureCount = vFeatureLayer.FeatureClass.FeatureCount(null); IFeatureCursor vFeatureCursor = vFeatureLayer.FeatureClass.Search(null, true); IFeature vFeature = vFeatureCursor.NextFeature(); while (vFeature != null) { DataRow vNewRow = vTable.NewRow(); for (int j = 0; j < vTable.Columns.Count; j++) { if (vFeatureLayer.FeatureClass.Fields.Field[j].Name != "Shape") { object vFieldValue = vFeature.get_Value(j); vNewRow[vFeatureLayer.FeatureClass.Fields.Field[j].Name] = vFieldValue; } } vTable.Rows.Add(vNewRow); vFeature = vFeatureCursor.NextFeature(); } vTable.AcceptChanges(); dataGridView_Data.DataSource = vTable; }
private void button_Location_Click(object sender, EventArgs e) { if (dataGridView_Data.SelectedRows != null) { List <int> vObjectList = new List <int>(); foreach (DataGridViewRow vTempRow in dataGridView_Data.SelectedRows) { if (vTempRow.Visible) { int vObjectID = (int)vTempRow.Cells["ObjectID"].Value; vObjectList.Add(vObjectID); } } ObjectIDArray = vObjectList.ToArray(); LayerName = treeView_Layer.SelectedNode.Name; VMainForm.SelectFeatures(ObjectIDArray, LayerName); } else { MessageBox.Show("请选择需要定位的要素", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } }