This question is locked. New answers and comments are not allowed.
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 "
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