With MOLE92QFENIM009615, MOLE layers do not evaluate a definition expression if the same expression is applied again.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM034277
已提交
April 15, 2008
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2
编程语言
C#
修正版本
9.2
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
解决办法
Check to see if the definition expression applied is the same or not. If it is same then set the definition expression on the layer to an empty string and then apply the new expression. Code below: string tempFilter = ""; tempFilter = ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression; if (tempFilter.Trim() == filter.Trim()) { ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = string.Empty; ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = filter.Trim(); } else { ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = filter.Trim(); }