我正在努力要求显示一个带有搜索表的弹出窗口。当用户在弹出窗口中单击搜索按钮(提供了输入文本框)时,需要使用新的数据集刷新搜索表。
我创建了一个populateSearchTable()
方法,通过填充数组deviceListArray<POJO CLass>
中的值来生成表格。
在populatesearchTable()
每次生成数据时,我都试图通过deviceListArray.Clear()
方法清除deviceList数组,并使用下面的方法刷新表的末尾。
AdfFacesContext.getCurrentInstance().addPartialTarget(<tableBindingVariable>)
由于某种原因,表格没有刷新。如果我需要分享我的代码,请告诉我。
是否有其他方法可以在弹出窗口中刷新表,这与普通刷新方法不同。
答案 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" ..... />
此致
萨拉姆......:)