none
使用ria DomainDataSource绑定数据到DataGrid,怎样用关键字查询所有字段?FilterDescriptors只支持一个字段,是否对FilterDescriptors进行动态增加 RRS feed

  • 常规讨论

  • 是不是像这样

               String key = SearchKeyTextBox.Text.Trim();
    
                FilterDescriptorCollection fds = new FilterDescriptorCollection();
    
                FilterDescriptor fd = new FilterDescriptor("Name", FilterOperator.Contains, key);
                fds.Add(fd);
    
                fd = new FilterDescriptor("Company.CompanyName", FilterOperator.Contains, key);
                fds.Add(fd);
    
                PersonalDataSource.FilterDescriptors = fds;
    

    aaaa
    2009年7月16日 8:36

全部回复

  • xaml中
    <riaControls:DomainDataSource.FilterDescriptors>
                        <riaData:FilterDescriptorCollection LogicalOperator="Or">
                            <riaData:FilterDescriptor PropertyPath="Name" Operator="Contains">
                                <riaData:ControlParameter ControlName="SearchKeyTextBox" PropertyName="Text" RefreshEventName="TextChanged"/>
                            </riaData:FilterDescriptor>
                            <riaData:FilterDescriptor PropertyPath="CompanyName" Operator="Contains">
                                <riaData:ControlParameter ControlName="SearchKey2TextBox" PropertyName="Text" RefreshEventName="TextChanged"/>
                            </riaData:FilterDescriptor>
                            <riaData:FilterDescriptorCollection LogicalOperator="And">
                                <riaData:FilterDescriptor PropertyPath="Mobile" Operator="Contains">
                                    <riaData:ControlParameter ControlName="SearchKey3TextBox" PropertyName="Text" RefreshEventName="TextChanged"/>
                                </riaData:FilterDescriptor>
                                <riaData:FilterDescriptor PropertyPath="Tel" Operator="Contains">
                                    <riaData:ControlParameter ControlName="SearchKey4TextBox" PropertyName="Text" RefreshEventName="TextChanged"/>
                                </riaData:FilterDescriptor>
                            </riaData:FilterDescriptorCollection>
                        </riaData:FilterDescriptorCollection>
                    </riaControls:DomainDataSource.FilterDescriptors>


    其中有两个FilterDescriptorCollection ,一个FilterDescriptorCollection 在另一个FilterDescriptorCollection 下,但在代码里,好像不能添加一个FilterDescriptorCollection 到另一个FilterDescriptorCollection 节点下.


    aaaa
    2009年7月16日 9:10
  • 就是想实现
    where name='' or companyname='' or (mobile = '' and tel = '')
    aaaa
    2009年7月16日 9:18
  • 不好意思,搞错了,xaml中,在FilterDescriptorCollection 下,不能再增加FilterDescriptorCollection 节点
    aaaa
    2009年7月16日 9:34
  • 实现类似

    (name = '张' or companyname='张') and (name='李' or companyname='李')

    这样的需求,请问用FilterDescriptor怎么做?
    aaaa
    2009年7月17日 3:23