不幸的是,我遇到了PrimeFaces SummaryRow问题。
我需要做的是创建一个包含一些内容的简单SummaryRow。但是总是在我将一些东西放入PrimeFaces Datatable的SummaryRow渲染器中时,从列标题中添加额外的字符串。
下面的一些代码:
<p:dataTable var="orderProductVariantSerializable"
reflow="true"
sortBy="#{orderProductVariantSerializable.serialVersionUID}"
value="#{cartView.orderSerializableList}">
<p:column class="image-column" headerText="#{stringProduct}">
<c:set var="productVariant" value="#{orderProductVariantSerializable.productVariant}" />
<ui:include src="../parts/product_image.xhtml" />
</p:column>
<p:column headerText="#{stringDescription}">
<p:outputPanel class="cart-cell-wrapper cart-description">
<h:outputText class="cart-description-manufacturer"
value="#{orderProductVariantSerializable.productName.product.manufacturer.aname}"/>
<h:outputText value="#{orderProductVariantSerializable.productName.avalue}"/>
</p:outputPanel>
<p:outputPanel class="cart-cell-wrapper attributes-column">
<p:dataList
var="position"
rendered="#{not empty orderProductVariantSerializable.variantItemList}"
value="#{orderProductVariantSerializable.variantItemList}">
<h:panelGrid columns="2">
<h:outputText value="#{position.attributesNames.avalue}"/>
<p:dataList var="attributesPositionsName" value="#{position.attributesPositionsNamesList}">
<h:outputText value="#{attributesPositionsName.avalue}"/>
</p:dataList>
</h:panelGrid>
</p:dataList>
</p:outputPanel>
</p:column>
<p:column class="quantity-column" headerText="#{stringQuantity}">
<p:outputPanel class="cart-cell-wrapper">
<h:panelGrid class="quantity-table">
<p:outputPanel>
<p:inputNumber decimalPlaces="0" readonly="true" value="#{orderProductVariantSerializable.amount}"/>
</p:outputPanel>
<h:panelGrid columns="2">
<p:commandLink rendered="#{cartView.shouldRenderEnabledMinus(orderProductVariantSerializable)}"
actionListener="#{cartView.decrementQuantity(orderProductVariantSerializable)}" process="@form"
onstart="NProgress.start();"
oncomplete="NProgress.done();">
<i class="fas fa-minus" aria-hidden="true"></i>
</p:commandLink>
<p:commandLink rendered="#{cartView.shouldRenderDisabledMinus(orderProductVariantSerializable)}" disabled="true">
<i class="fas fa-minus" aria-hidden="true"></i>
</p:commandLink>
<p:commandLink actionListener="#{cartView.incrementQuantity(orderProductVariantSerializable)}" process="@form"
onstart="NProgress.start();"
oncomplete="NProgress.done();">
<i class="fas fa-plus" aria-hidden="true"></i>
</p:commandLink>
</h:panelGrid>
</h:panelGrid>
</p:outputPanel>
</p:column>
<p:column headerText="#{stringAvailability}">
<h:outputText value="#{orderProductVariantSerializable.productVariant.amount}" />
</p:column>
<p:column class="unit-price-column" headerText="#{stringUnitPrice}">
<h:outputText value="#{orderProductVariantSerializable.finalPriceGross}">
<f:convertNumber groupingUsed="true" minFractionDigits="2"/>
</h:outputText>
<h:outputText value="#{layoutView.currency.aname.toUpperCase()}"/>
</p:column>
<p:column headerText="#{stringToPay}">
<h:outputText value="#{orderProductVariantSerializable.toPayAll}">
<f:convertNumber groupingUsed="true" minFractionDigits="2"/>
</h:outputText>
<h:outputText value="#{layoutView.currency.aname.toUpperCase()}"/>
</p:column>
<p:column headerText="#{stringToPay}">
<h:outputText value="#{orderProductVariantSerializable.toPayAllNet}">
<f:convertNumber groupingUsed="true" minFractionDigits="2"/>
</h:outputText>
<h:outputText value="#{layoutView.currency.aname.toUpperCase()}"/>
</p:column>
<p:column class="delete-column">
<p:commandLink actionListener="#{cartView.deleteProductFromCart(orderProductVariantSerializable)}"
class="cart-trash"
update="#{cartView.formId}"
onstart="NProgress.start();"
oncomplete="NProgress.done();">
<i class="fas fa-times" aria-hidden="true"></i>
</p:commandLink>
</p:column>
<p:summaryRow>
<p:column colspan="8" >
<h:outputText value="Summary:" />
</p:column>
</p:summaryRow>
</p:dataTable>
就像您可以在SummaryRow中看到的那样,我只有outputText的值为'Summary:'。但是数据表的渲染器从第一个Column headerText添加了额外的文本,即'Produkt'。最后,我进入html(摘要行),类似于“ ProduktSummary:”
和图片(结果):
答案 0 :(得分:2)
Guyz。我找到了解决方案。我希望这可以帮助解决这个问题的人。该解决方案只需从数据表中删除 reflow 属性,即可很好地工作=)。
我希望该帖子对某人有帮助
答案 1 :(得分:0)
也许您可以尝试删除summaryRow列上的colspan = 8
。
答案 2 :(得分:0)
就像我保证在评论中一样,我会提供修复程序。
这个错误也发生在我身上,我的同事通过禁用一些CSS帮助我解决了它,因此您可以按照以下方式添加:
用于 p:headerRow :
<p:headerRow>
<!-- some code -->
</p:headerRow>
您可以使用:
禁用该问题。.ui-rowgroup-header > td .ui-column-title {
display: none;
}
用于 p:summaryRow
<p:summaryRow>
<!-- some code -->
</p:summaryRow>
您可以使用:
禁用该问题。.ui-datatable-summaryrow > td .ui-column-title{
display: none;
}
或者它们只是像这样将它们组合在一起:
.ui-rowgroup-header > td .ui-column-title, .ui-datatable-summaryrow > td .ui-column-title{
display: none;
}