如何在ADF Oracle 11gR1

时间:2016-12-17 18:11:58

标签: java oracle-adf

我正在努力要求显示一个带有搜索表的弹出窗口。当用户在弹出窗口中单击搜索按钮(提供了输入文本框)时,需要使用新的数据集刷新搜索表。

我创建了一个populateSearchTable()方法,通过填充数组deviceListArray<POJO CLass>中的值来生成表格。

populatesearchTable()每次生成数据时,我都试图通过deviceListArray.Clear()方法清除deviceList数组,并使用下面的方法刷新表的末尾。

 AdfFacesContext.getCurrentInstance().addPartialTarget(<tableBindingVariable>)

由于某种原因,表格没有刷新。如果我需要分享我的代码,请告诉我。

是否有其他方法可以在弹出窗口中刷新表,这与普通刷新方法不同。

1 个答案:

答案 0 :(得分:1)

声明你的清单并创建了setter和getter。

List<String> myList= new ArrayList<String>();

进行搜索时,请在列表中填入结果数据,然后将其放入 ProcessScope 喜欢

for(....){

mylist.add(....)
}     

AdfFacesContext.getCurrentInstance().getProcessScope().put("mylist", mylist);

将列表的get方法重写为:

public List<String> getMyList() {
        myList.clear();
        List<String> list = (List<String>) AdfFacesContext.getCurrentInstance().getProcessScope().get("myList");
        if (list != null) {
            for (String var : list) {
                myList.add(var);
            }
        }
        return myList;
    }

并确保将表的值设置为列表:

  <af:table value="#{SomeBean.myList}" var="row" rowBandingInterval="0" ..... />

此致

萨拉姆......:)