带复选框的Adf搜索面板

时间:2015-06-30 19:17:29

标签: oracle-adf

我在我的搜索面板中添加了一个复选框,如果我选中复选框并添加查询字符串,我会在表格中获得预期结果。如果我点击列标题并尝试对其进行排序,我的表将被重置并过滤掉结果。

我认为每次点击排序时都会调用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 ..

1 个答案:

答案 0 :(得分:1)

您可以尝试使用executeQueryForCollection(java.lang.Object qc, java.lang.Object[] params, int noUserParams) 而不是executeQuery()?

您将能够找到您的" Active"查看方法参数中的条件属性:

 java.lang.Object[] params

请记住' params'是一个矩阵(数组数组)。