当前,我使用CompositeFilterDescriptor过滤RadGridView。
CompositeFilterDescriptor searchFilter1 = new CompositeFilterDescriptor();
searchFilter1.FilterDescriptors.Add(new FilterDescriptor("long_description", FilterOperator.Contains, desciption_search.Text));
我根据其他文本框等添加了一些过滤器描述符,这些过滤器描述符工作正常。我现在正尝试添加第二个搜索过滤器。原因是我希望searchFilter2
的逻辑运算符为or而不是And。
CompositeFilterDescriptor searchFilter2 = new CompositeFilterDescriptor();
searchFilter2.LogicalOperator = FilterLogicalOperator.Or;
searchFilter2.FilterDescriptors.Add(new FilterDescriptor("product", FilterOperator.Contains, product_search.Text));
以上是我添加第二个searchFilter的代码。但是,在第一次加载网格时,添加此代码会导致以下错误。
我不确定由于缺少行号等原因而导致的错误。程序仍将加载,并且在尝试搜索网格时会发生以下错误。
错误所指向的第579行包含以下代码。
this.rgv_products.MasterTemplate.FilterDescriptors.Remove("product");
实际上我是否可以通过这种方式添加两个搜索过滤器,或者是否有更好的方法过滤RadGridView?
如果需要其他任何代码等,请告诉我。