我在我的搜索面板中添加了一个复选框,如果我选中复选框并添加查询字符串,我会在表格中获得预期结果。如果我点击列标题并尝试对其进行排序,我的表将被重置并过滤掉结果。
我认为每次点击排序时都会调用ViewObject的executeQuery。我添加了代码来设置viewCriteria属性的值,但是tat也没有用。我的executeQuery方法包含在下面;
public void executeQuery() {
ViewCriteria vc = this.getViewCriteria("RegionMasterCriteria");
if (null != vc.getCurrentRow()) {
if (null != vc.getCurrentRow().getAttribute("Active") &&
vc.getCurrentRow().getAttribute("Active").equals("true")) {
setActiveVariable("Y");
} else {
setActiveVariable("N");
}
}
super.executeQuery();
}
当我尝试执行搜索时,vc.getCurrentRow()为null。 Criteria是将Auto query设置为true,以便在页面加载表时具有默认搜索数据。但是为什么vc.getCurrentRow()会变为null ..
答案 0 :(得分:1)
您可以尝试使用executeQueryForCollection(java.lang.Object qc, java.lang.Object[] params, int noUserParams)
而不是executeQuery()?
您将能够找到您的" Active"查看方法参数中的条件属性:
java.lang.Object[] params
请记住' params'是一个矩阵(数组数组)。