我想使用带有三个选项卡的primefaces组件制作一个选项卡视图,在选项卡内部,我将使用带有输入文本的数据表。是否可以在三个选项卡中使用相同的数据表和不同的字段?是否可以同时对所有选项卡进行分页以一次显示相同的寄存器?对不起,我的英语不好。
想象一下具有以下属性的对象汽车的列表:颜色,形式,车轮,名称,型号和价格。
标签视图
Tab1 Tab2 Tab2 Tab3
1行颜色|成型轮|名称型号|价格
2排
3行
我想使用相同的数据表并同时对三个选项卡进行分页,以便在三个选项卡上具有相同的行。
答案 0 :(得分:0)
有可能。您可以将事件添加到tabView中。然后更改数据表的列的可见性。 代码可能是这样的:
<p:tabView activeIndex="#{bean.activeTab}">
<p:ajax event="tabChange" update="@([id$=dataTable])" />
<p:tab title="Tab1">
<p:tab title="Tab2">
<p:tab title="Tab3">
</p:tabView>
<p:dataTable id="dataTable" value="#{bean.cars}">
<p:column headerText="Colour" rendered="#{bean.activeTab == 0}">
...
</p:column>
<p:column headerText="Form" rendered="#{bean.activeTab == 0}">
...
</p:column>
<p:column headerText="Wheels" rendered="#{bean.activeTab == 1}">
...
</p:column>
<p:column headerText="Name" rendered="#{bean.activeTab == 1}">
...
</p:column>
<p:column headerText="Model" rendered="#{bean.activeTab == 2}">
...
</p:column>
<p:column headerText="Price" rendered="#{bean.activeTab == 2}">
...
</p:column>
</p:dataTable>