private void button1_Click(object sender, EventArgs e)
{
IFeatureLayer flyr = axMapControl1.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fl = flyr.FeatureClass;
//null表示未设置查询条件,true表示不能修改
IFeatureCursor cursor = fl.Search(null, true);
IFeature fea = cursor.NextFeature();
int cnt = 0;
while (fea != null)
{
cnt = cnt + 1;
fea = cursor.NextFeature();
}
MessageBox.Show(cnt.ToString());
}
private void button2_Click(object sender, EventArgs e)
{
IFeatureLayer lyr = axMapControl1.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fc = lyr.FeatureClass;
IQueryFilter flter = new QueryFilterClass();
flter.WhereClause = "Name='锦江区'";
IFeatureCursor cursor = fc.Search(flter, true);//true表示只读
IFeature fea = cursor.NextFeature();
int cnt = 0;
while (fea != null)
{
cnt += 1;
fea = cursor.NextFeature();
}
MessageBox.Show(cnt.ToString());
}
//IFeatureSelect中的SelectFeatures方法可以实现查询并高亮显示
private void button3_Click(object sender, EventArgs e)
{
IFeatureLayer lyr = axMapControl1.Map.get_Layer(0) as IFeatureLayer;
IFeatureSelection fsec = lyr as IFeatureSelection;
//定义查询过滤条件
IQueryFilter flt = new QueryFilterClass();
flt.WhereClause = "省代码=510000";
//false表示查询不只是显示查询中的一个要素
fsec.SelectFeatures(flt,esriSelectionResultEnum.esriSelectionResultNew,false);
ISelectionSet set = fsec.SelectionSet;
MessageBox.Show(set.Count.ToString());
axMapControl1.Refresh();
}
AE实现属性查询(主要接口:IFeatureCursor、IQueryFilter、IFeatureSelection)
最新推荐文章于 2022-05-08 09:00:00 发布