我在xaml中有以下代码。
<dds:DomainDataSource x:Name="hastaDataSource" PageSize="10" LoadSize="40" QueryName="GetDzHST_HastaQuery" AutoLoad="True">
<dds:DomainDataSource.DomainContext>
<src:dysDomainContext/>
</dds:DomainDataSource.DomainContext>
<dds:DomainDataSource.FilterDescriptors>
<dds:FilterDescriptor
PropertyPath="HST_SoyAd"
Operator="Contains"
IgnoredValue=""
Value="{Binding ElementName=txtHastaSoyad, Path=Text}" >
</dds:FilterDescriptor>
<dds:FilterDescriptor
PropertyPath="HST_Ad"
Operator="Contains"
IgnoredValue=""
Value="{Binding ElementName=txtHST, Path=Text}" >
</dds:FilterDescriptor>
</dds:DomainDataSource.FilterDescriptors>
它给出错误: 消息:Silverlight应用程序中的未处理错误 代码:4004
---&GT; System.InvalidOperationException:无法计算其PropertyPath等于'HST_Ad'的FilterDescriptor。 ---&GT; System.ArgumentException:运算符'包含'与操作数类型'String'和'Object'不兼容 ---&GT; System.InvalidOperationException:String类型不公开名为'Contains'的方法。
如果我在FilterDescriptors节点中写了一个Filterdescriptor,我工作正常,但使用多个过滤器,它会出现上述错误。
请帮忙。感谢..
答案 0 :(得分:1)
我相信当您有多个过滤器时,需要向FilterOperator
添加DomainDataSource
。 FilterOperator
值应为"And"
或"Or"
。
因此它应该是FilterOperator="And"
或FilterOperator="Or"
。