gpt4 book ai didi

jsf - 自定义小面

does not filter properly

转载 作者:行者123 更新时间:2023-12-04 07:55:01 25 4
gpt4 key购买 nike

我在primeface 数据表中的列标记有问题。我有一个包含许多类似字段的模型,因此为了减少代码,我尝试使用自定义标签来填充每​​一列。
所以宁愿写一些类似的东西

<p:column headerText="MyHeader" filterBy="#{d.two}" styleClass="ps-footprint-type ps-vertical-title" >
<f:facet name="filter">
<p:triStateCheckbox onchange="PF('w_footprintsTable').filter()" converter="triStateBooleanConverter" />
</f:facet>
<h:panelGroup rendered="#{d.two}"> <i class="pi pi-check">v</i> </h:panelGroup>
</p:column>
我想有类似的东西
 <sjsf:booleanColumn value="#{d.two}" header="MyHeader" tableWidget="w_footprintsTable"/>
遵循@Jasper 在 following thread 中的建议,我已经设法使用 facelet 标签完成了大部分工作。唯一的问题是过滤。它适用于显式列,但仅适用于使用我的 facelet 标签时的最后一列。
我创建了一个小 git 项目 here显示所有代码并在需要时运行它。它将显示以下页面。前 3 个 bool 列是显式 标签(过滤适用于所有三个),接下来的 3 个 bool 列使用我的 facelet 标签,如您所见,列“四”没有正确过滤,但列“六“做。
enter image description here
有没有人遇到过这种问题并且能够解决它?
PS:这是我自定义标签的代码
<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:cc="http://java.sun.com/jsf/composite">

<p:column headerText="#{header}" filterBy="#{value}" styleClass="sj-vertical-title" >
<f:facet name="filter">
<p:triStateCheckbox onchange="PF('#{tableWidget}').filter()" converter="triStateBooleanConverter" />
</f:facet>
<h:panelGroup rendered="#{value}">
<i class="pi pi-check">V</i>
</h:panelGroup>
</p:column>

</ui:composition>

最佳答案

虽然它被记录为一种可选的,但在我们的例子中,我们必须添加 field属性。我认为这是因为无法在过滤器请求中解析自定义标签属性。所以使用:

<p:column filterable="true" field="#{property}" ... />
对于其他用途,我们使用以下方法向组件添加了自定义标签属性:
<f:attribute name="myAttr" value="#{myAttr}" />
您可以稍后通过以下方式阅读:
#{component.attributes.myAttr}
或者:
#{component.parent.attributes.myAttr}
取决于组件。

关于jsf - 自定义小面 <p :colum> does not filter properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66744601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com