private DataTable GetDataTable(MG_Layer layer) { // Create a new DataTable. DataTable table = new DataTable(layer.GetLayerName()); // add oid DataColumn oid_Column = new DataColumn("OID", Type.GetType("System.Int32")); table.Columns.Add(oid_Column); int i, j; // Add the column for (i = 0; i < layer.GetFieldSet().Count(); i++) { MG_Field field = layer.GetFieldSet().GetAt(i); DataColumn column = new DataColumn(field.Name); column.DataType = Type.GetType("System.String"); // Add the Column to the DataColumnCollection. table.Columns.Add(column); } // Add the row for (i = 0; i < layer.GetFeatureCount(); i++) { MG_Feature f = layer.GetFeature(i); DataRow row = table.NewRow(); // add oid row[0] = i+1; for (j = 0; j < f.GetFieldCount(); j++) { object value = f.GetValue(j).Value; if (value != null) { row[j + 1] = value.ToString(); } } // Add the row to the DataRowCollection. table.Rows.Add(row); } return table; }
public MG_Layer ExportLayer(string table) { MG_Layer mgLayer = new MG_Layer(); mgLayer.SetLayerName(table);// // read ext mgLayer.Extent = this.GetExtent(table); MG_FieldSet fieldSet = this.GetFieldSet(table); mgLayer.FieldSet = fieldSet;// collect data mgLayer.FeatureSet = this.GetFeatureSet(mgLayer.GetFieldSet(), table); mgLayer.Type = mgLayer.FeatureSet.GetAt(0).Geometry.Type; return mgLayer; }