【问题标题】:Refresh table on render渲染时刷新表
【发布时间】: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就更好了。

我可以使用&lt;rich:tab ontabenter='js_function_that_calls_the_server_and_refreshes_the_data'&gt;,但我认为这不是最好的选择,因为你应该将函数放在标签标签之外,而且它会抛出两个请求而不是一个。

有什么想法吗?赞赏。

【问题讨论】:

    标签: java jsf richfaces


    【解决方案1】:

    你可以试试这样的:

    <rich:tab action="#{mydata.refreshData}" reRender="myTable">
      <rich:extendedDataTable id="myTable" data="#{myData.data}"/>
    </rich:tab>
    

    【讨论】:

    • 天哪,我没有意识到 tabaction 参数。这让事情变得更容易......谢谢,我会尝试。
    • 是的,我总是使用那个文档。我不知道为什么,但我一开始并没有注意动作参数。现在可以了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2020-01-22
    相关资源
    最近更新 更多