您好,
SuperMap iObjects .NET 组件的 MapControl 控件提供了 GeometrySelected 事件,当鼠标在地图窗口点击选中矢量数据时,会触发该事件,可以在该事件中获取选中数据对应的属性值。
希望可以帮到您。
我用上面的方法查询后只能获取到一列name的值,其他字段对应值获取不到,是哪块写的不对吗?
Selection selections = mapControl.Map.FindSelection(true)[0]; if (selections == null && selections.Count == 0) { return; } // 获取当前线图层的选择记录集 Recordset recordset = selections.ToRecordset(); if (recordset == null || recordset.RecordCount == 0) { return; } using (recordset) { //移动到第一条记录上 recordset.MoveFirst(); //2. 创建 DataTable DataTable dataTable = new DataTable("test"); //3.添加列到 DataTable SuperMap.Data.FieldInfos info=recordset.GetFieldInfos(); foreach (SuperMap.Data.FieldInfo field in info) { dataTable.Columns.Add(field.Name); } // 4.获取要素集 for (int i = 0; i < recordset.RecordCount; i++) { // 5.创建新行 DataRow row = dataTable.NewRow(); //6.填充行数据 foreach (SuperMap.Data.FieldInfo field in info) { row[field.Name] = recordset.GetObject(field.Name); } //7.添加行到 DataTable dataTable.Rows.Add(row); } }