我有以下(示例)代码来过滤来自 LLBLGen 数据源的搜索结果:
IPredicateExpression firstFilter = new PredicateExpression();
firstFilter.Add(new FieldLikePredicate(CustomerFields.FirstName, null, txtSearchFirst.Text.Trim() + "%"));
llbldsCustomer.FilterToUser = firstFilter;
llbldsCustomer.DataBind();
gridview1.DataBind();
当我触发此代码时,这可以正常工作并过滤结果。但是,如果我添加第二个过滤器,我必须按两次调用代码才能看到结果。下面是带有 2 个过滤器的片段:
IPredicateExpression firstFilter = new PredicateExpression();
firstFilter.Add(new FieldLikePredicate(CustomerFields.FirstName, null, txtSearchFirst.Text.Trim() + "%"));
firstFilter.Add(new FieldLikePredicate(CustomerFields.LastName, null, txtSearchLast.Text.Trim() + "%"));
llbldsCustomer.FilterToUser = firstFilter;
llbldsCustomer.DataBind();
gridview1.DataBind();
在第一次搜索之后,每次搜索都可以解决问题;但是,我需要它来处理第一个。
更新:代码位于 ASP.Net 按钮单击事件中。Page Load 事件块中也没有影响此数据源的代码。
有任何想法吗?