This is a migrated thread and some comments may be shown as answers.

Filter datagrid

1 Answer 90 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Philippe
Top achievements
Rank 1
Philippe asked on 11 Dec 2012, 03:41 PM
Hello,
I try to filter my datagrid like this :

The same filter must be used for 2 properties. But an error is raised when I use the Or method, if I remove the Or, it works but it is not what I want to do because, without the Or method, the composant do an And between the two filters.

.
.
.
                    .Filter(f =>
                        {
                            if(!string.IsNullOrEmpty(Model.FilterByVendor))
                            {
                                f.Add(a => a.Name).Contains(Model.FilterByVendor).Or();
                                f.Add(a => a.VendorNumber).Contains(Model.FilterByVendor).Or();
                            }
                        })
                    .Read(read => read.Action("GetAllVendors", "Vendor"))
                    .PageSize(20)

            )
            .Filterable()
)

1 Answer, 1 is accepted

Sort by
0
Daniel
Telerik team
answered on 13 Dec 2012, 03:10 PM
Hello Philippe,

The logic cannot be set to "Or" between different properties when using the Add method. Could be achieved by using the AddRange method to add a composite descriptor e.g.

IList<IFilterDescriptor> descriptors = new List<IFilterDescriptor>();
FilterDescriptor nameDescriptor = new FilterDescriptor("Name", FilterOperator.Contains, "value");
FilterDescriptor vendorDescriptor = new FilterDescriptor("VendorNumber", FilterOperator.Contains, "value");
CompositeFilterDescriptor composite = new CompositeFilterDescriptor();
composite.LogicalOperator = FilterCompositionLogicalOperator.Or;
composite.FilterDescriptors.Add(nameDescriptor);
composite.FilterDescriptors.Add(vendorDescriptor);
descriptors.Add(composite);
.Filter(filter => filter.AddRange(descriptors))
Regards,
Daniel
the Telerik team
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
Tags
Grid
Asked by
Philippe
Top achievements
Rank 1
Answers by
Daniel
Telerik team
Share this question
or