根据输入条件进行查询,并将查询到的结果高亮显示,属性信息显示出来
private void btnSearch_Click(object sender, System.EventArgs e)
{
if (txtName.Text.Trim() == "")
{
MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.GetTable("world");
//输出查询信息
ListBox1.Items.Clear();
ListBox1.Items.Add("图层: " + table.Alias.ToString() + "—Country");
foreach (Feature feature in (table as MapInfo.Data.ITableFeatureCollection))
{
//显示每个选择图元的属性数据
Column column = feature.Columns["Country"];
ListBox1.Items.Add(" " + feature[column.ToString()].ToString());
}
}
else
{
//根据名称搜索
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("Country like '%" + txtName.Text + "%'");
IResultSetFeatureCollection ifs = MapInfo.Engine.Session.Current.Catalog.Search("world",si);
if (ifs.Count <=0)
{
return;
}
//缩放到选择图元范围
MapMain.Map.SetView(ifs.Envelope);
MapMain.Map.Scale = MapMain.Map.Scale * 2;
//高亮显示
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
//输出查询信息
ListBox1.Items.Clear();
ListBox1.Items.Add("图层: " + ifs.BaseTable.Alias.ToString());
foreach (Feature feature in ifs)
{
//显示每个选择图元的属性数据
foreach (Column column in feature.Columns)
{
ListBox1.Items.Add(" " + column.ToString() + " = " + feature[column.ToString()].ToString());
}
ListBox1.Items.Add("____________________________");
}
}
}