【发布时间】:2020-01-01 17:57:27
【问题描述】:
传递了以下的演示示例:
https://www.primefaces.org/showcase/ui/data/datatable/basic.xhtml
我可以将完整的示例显示为 primefaces-test-master 并作为 mvn clean jetty:run-exploded 运行
我使用“p:selectManyCheckbox”创建了一个显示,以将我所有的年份、品牌、颜色、价格和销售量显示为:
<p:selectManyCheckbox id="carColumns" value="#{carService.selectedItems}">
<f:selectItem itemLabel="Year" itemValue="Year"/>
<f:selectItem itemLabel="Brand" itemValue="Brand"/>
<f:selectItem itemLabel="Colour" itemValue="Colour"/>
<f:selectItem itemLabel="Price" itemValue="Price"/>
<f:selectItem itemLabel="Sold" itemValue="Sold"/>
<p:ajax listener="#{carService.selectedItemsChanged}" update="formCars:tblCars"/>
</p:selectManyCheckbox>
然后显示 p:dataTable 和“car”的每个 p:column 以及其他列:
<p:dataTable id="tblCars" var="car" value="#{dtBasicView.cars}" paginator="true"
rows="100"
multiViewState="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100"
resizableColumns="true"
draggableColumns="true"
scrollWidth="100%">
<f:facet name="header">
<p:commandButton id="columnTogglerCars" type="button" value="Columns" style="float:right"
icon="pi pi-align-justify"/>
<p:columnToggler datasource="tblCars" trigger="columnTogglerCars"/>
</f:facet>
<p:column headerText="Id" rendered="true">
<h:outputText value="#{car.id}"/>
</p:column>
<p:column headerText="Year" sortBy="#{car.year}" rendered="#{carService.yearColumnRendered}">
<h:outputText value="#{car.year}"/>
</p:column>
<p:column headerText="Brand" sortBy="#{car.brand}" rendered="#{carService.brandColumnRendered}">
<h:outputText value="#{car.brand}"/>
</p:column>
<p:column headerText="Colour" sortBy="#{car.colour}" rendered="#{carService.colourColumnRendered}">
<h:outputText value="#{car.colour}"/>
</p:column>
<p:column headerText="Price" sortBy="#{car.price}" rendered="#{carService.priceColumnRendered}">
<h:outputText value="#{car.price}"/>
</p:column>
<p:column headerText="Sold" sortBy="#{car.sold}" rendered="#{carService.soldColumnRendered}">
<h:outputText value="#{car.sold}"/>
</p:column>
</p:dataTable>
如果我然后更改 p:column headerText 在 p:selectManyCheckbox 的选定项目上显示的订单(向上或向下),那么有时实际上不会在 dataTable 中显示每个“年份、品牌、颜色、价格和销售” .
我对 p:selectManyCheckbox 和 p:dataTable 做错了吗?
(1) 所有五张图片“年份、品牌、颜色、价格和销量”如何。 (2) 显示两页'年份,品牌' (3) 选择“年份,品牌,颜色,但它只显示''年份,品牌',虽然选择了(颜色)!
查看代码:https://www.dropbox.com/s/vfugj0fppejtti7/primefaces-test-master.zip?dl=0
【问题讨论】:
-
尝试在面板中插入 tblCars 并使用 ajax 更新面板,我有同样的问题,这已经解决了
-
谢谢。你有拉的例子吗?
-
是的,我添加一个新答案
标签: primefaces