上一篇文章介绍了怎样条件显示Dynamic子图层内容,其实FeatureLayer也可以控制它的显示内容,通过它的where属性即可实现,同样有XAML和C#代码两种方式:
1.通过XAML方式实现
<esri:FeatureLayer ID="Organization" DisableClientCaching="True" AutoSave="False" Url="http://localhost/arcgis/rest/services/BeiJingMap/FeatureServer/1" OutFields="*" Where="Class='其他'"Mode="OnDemand" />
where="SQL语句",设置显示条件
2.通过C# 代码实现
FeatureLayer orglyr = map1.Layers["Organization"] as FeatureLayer;//获取FeatureLayer图层对象
orglyr.Where = "Class=‘其他’";//通过SQL语句设置显示条件
orglyr.Update();//更新显示,只有更新后才能使显示界面有所变化
全部显示时
条件显示
这里其实也起到了一个查询的作用,此时FeautureLayer.Graphics内容就是该图层显示的内容,不过当用QueryTask进行图形方式查询时会查询到过滤掉的内容,这点不好,还没找到解决的方案