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

[Solved] Dynamically filtering grid at loading (using GridFilteringSettingsBuilder)

1 Answer 9 Views
Grid
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
mbp
Top achievements
Rank 1
mbp asked on 02 May 2013, 10:14 AM
Dear all,

I am trying to apply filters (previously saved in a database) to an ajax grid containing a dynamic model and I am facing a problem.

In my view, I have added:

     .Filterable(
         filteringSettingsBuilder => GridHelper.FilterColumns(filteringSettingsBuilder)
     )

And the method FilterColumns looks like this

  public static void FilterColumns(GridFilteringSettingsBuilder<dynamic> gridFilteringSettingsBuilder)
   {
            List<CompositeFilterDescriptor> listOfCompositeFilter = new List<CompositeFilterDescriptor>();
            CompositeFilterDescriptor compositeFilter = new CompositeFilterDescriptor();
            FilterDescriptor filter = new FilterDescriptor();

            filter.Member = "Product.Country.Name";
            filter.MemberType = typeof(string);
            filter.Operator = FilterOperator.IsEqualTo;
            filter.Value = "Canada";

            compositeFilter.FilterDescriptors.Add(filter);

            listOfCompositeFilter.Add(compositeFilter);

            var gridFilter = new System.Action<GridFilterDescriptorFactory<dynamic>>(f => f.AddRange(listOfCompositeFilter));

            gridFilteringSettingsBuilder.Filters(gridFilter);
}

But this gives me the error "Invalid property or field - 'Canada' for type: ProductQueryList"
(ProductQueryList is the type of my model)

What am I doing wrong ?
The filter should search on the property Product.Country.Name and not Canada.
Thank you in advance.

Best regards

1 Answer, 1 is accepted

Sort by
0
mbp
Top achievements
Rank 1
answered on 02 May 2013, 10:38 AM
I have just found a solution, if I explicitly set the MemberType when binding the filtered column it works.
Thank you.
Tags
Grid
Asked by
mbp
Top achievements
Rank 1
Answers by
mbp
Top achievements
Rank 1
Share this question
or