//图查属性
private void toolStripQueryProperty_Click(object sender, EventArgs e)
{
//获取选择集
Selection[] selection = mapControl1.Map.FindSelection(true);
//判断选择集是否为空
if (selection == null || selection.Length == 0)
{
MessageBox.Show("请选择要查询属性的空间对象");
return;
}
//将选择集转换为记录
Recordset recordset = selection[0].ToRecordset();2 产品入门
SuperMap iObjects .NET 9D 产品入门
14
this.dataGridView1.Columns.Clear();
this.dataGridView1.Rows.Clear();
for (int i = 0; i < recordset.FieldCount; i++)
{
//定义并获得字段名称
String fieldName = recordset.GetFieldInfos()[i].Name;
//将得到的字段名称添加到 dataGridView1 列中
this.dataGridView1.Columns.Add(fieldName, fieldName);
}
//初始化 row
DataGridViewRow row = null;
//根据选中记录的个数,将选中对象的信息添加到 dataGridView1 中显示
while (!recordset.IsEOF)
{
row = new DataGridViewRow();
for (int i = 0; i < recordset.FieldCount; i++)
{
//定义并获得字段值
Object fieldValue = recordset.GetFieldValue(i);
//将字段值添加到 dataGridView1 中对应的位置
DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell();
if (fieldValue != null)
{
cell.ValueType = fieldValue.GetType();
cell.Value = fieldValue;
}
row.Cells.Add(cell);
}
this.dataGridView1.Rows.Add(row);
recordset.MoveNext();
}
this.dataGridView1.Update();
recordset.Dispose();
}
//获取选择集
Selection[] selection = mapControl1.Map.FindSelection(true);
//将选择集转换为记录
Recordset recordset = selection[0].ToRecordset();。您好,我在看Iobjects开发帮助的的图查属性这个功能时,这个selection[0]是啥意思?是我选中数据的第一个转换为记录,还是选中数据的全部转换为记录。如果只是选中的第一个变为记录,那么哪一句代码是循环了所有的选择集?
如果是所有选中数据转换为记录集,那么为什么用selection[0]。为什么用0。本人刚学开发。recordset.MoveNext();这个是实现了什么功能?
十分感谢,谢谢!