域数据源问题中的FilterDescriptor

时间:2010-12-24 09:40:39

标签: silverlight silverlight-4.0

我在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,我工作正常,但使用多个过滤器,它会出现上述错误。

请帮忙。感谢..

1 个答案:

答案 0 :(得分:1)

我相信当您有多个过滤器时,需要向FilterOperator添加DomainDataSourceFilterOperator值应为"And""Or"

因此它应该是FilterOperator="And"FilterOperator="Or"