【发布时间】:2010-09-01 14:33:00
【问题描述】:
我在rich:tab 中有一个rich:extendedDataTable。
我想在每次呈现表格时刷新表格dataSource。每次选择选项卡时都会呈现它。
一言为定:
查看:
<rich:tab>
<rich:extendedDataTable data="#{myData.data}"/>
</rich:tab>
豆子:
public class MyData{
List data;
public MyData(){
data = this.refreshData();
}
public List getData(){
return data;
}
public List refreshData(){
//Database things here.
}
}
每次呈现表格时我如何调用refreshData?我可以在执行修改data 的操作的组件上使用reRender,但这会破坏组件的封装并且难以维护。如果标签页被激活时,每次reRendered时,表格可以自行刷新data就更好了。
我可以使用<rich:tab ontabenter='js_function_that_calls_the_server_and_refreshes_the_data'>,但我认为这不是最好的选择,因为你应该将函数放在标签标签之外,而且它会抛出两个请求而不是一个。
有什么想法吗?赞赏。
【问题讨论】: