gpt4 book ai didi

jsf - 在 Primefaces DataTable 中表示一个 boolean 值

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

所以我试图将对象值从 bean 传递到 primefaces 数据表(目前使用 primefaces 3.4),但是我面临两个问题。

1. 我似乎无法找到任何方法来显示(或表示)数据表的列中的 boolean 值。每次我尝试这样做时,该表都会返回完全空的(即使没有 boolean 列,其他列也填充了来自 bean 的数据)。

2. 另一个更大的问题(我认为与 java 的关系比 primefaces 更多)是我目前从 Siebels CRM ONDemand 云解决方案中获得了 26 个不同的对象,每个对象都包含自己的数据类型和属性值。我一辈子都无法弄清楚如何基于特定对象显示的下拉选择,该对象在 primefaces 数据表中动态显示字段。到目前为止,我只是设法将其中一个对象的一些字段显示为一种原型(prototype),但我遇到了 boolean 值显示的问题,这也是一场噩梦。

谁有类似的经历?或建议?我已经为此困惑了 2 个多星期了,我快要疯了!

如果需要,我可以提供代码示例或其他详细信息:)

非常感谢,非常感谢任何帮助!

雷吉

HTML代码:

<p:panel header ="Source Environment" style="margin-bottom:5px;">
<p:dataTable draggableColumns="true" id="tableFieldSet1" value="#{ODComBean.fields}" var="tableFieldSet1" rowKey="#{ODComBean.fields}" selectionMode ="multiple" style="font-family:sans-serif; width:max-content;">
<p:panel header="OD Object Selection" style="margin-bottom:5px;">
<h:panelGrid columns="2" cellpadding="5">
<p:selectOneMenu immediate ="true" id="pickList" value="#{ODComBean.fieldSetData}" effect="fade" style="font-size: 12px; font-family:sans-serif;" >
<f:selectItems value="#{ODComBean.fieldSet}" itemLabel="#{fieldSet.objectName}" var="fieldSet"/>
<p:ajax event="change" update="@form" />
</p:selectOneMenu>
</h:panelGrid>
</p:panel>
<p:panel header ="Source Environment" style="margin-bottom:5px;">
<p:dataTable draggableColumns="true" id="tableFieldSet1" value="#{ODComBean.fields}" var="tableFieldSet1" rowKey="#{ODComBean.fields}" selectionMode ="multiple" style="font-family:sans-serif; width:max-content;">
<p:column headerText="Type" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.fieldType}"/>
</p:column>
<p:column headerText="Required">
<p:graphicImage value="/resources/images/tick.png" rendered="#{tableFieldSet1.readOnly}"/>
<p:graphicImage value="/resources/images/red-cross.png" rendered="#{not tableFieldSet1.readOnly}"/>
</p:column>
<p:column headerText="Name" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.name}"/>
</p:column>
<p:column headerText ="Display Name" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.displayName}"/>
</p:column>
<p:column headerText="Default Value" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.defaultValue}"/>
</p:column>
<p:column headerText="Generic Integration Tag" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.genericIntegrationTag}"/>
</p:column>
<p:column headerText ="Integration Tag" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.integrationTag}"/>
</p:column>
<p:column headerText ="Translations" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.listOfFieldTranslations}"/>
</p:column>
<p:column headerText ="Validation Error" styleClass="singleLine" style="height: 10px; font-size: 8pt;">
<h:outputText value="#{tableFieldSet1.validationErrorMsg}"/>
</p:column>
<!-- When I add the next Column it will only show data for the first line, and display a <div half tag in the last column... strange... !-->

</p:dataTable>
</p:panel>

最佳答案

如果您想使用 h:outputText,您可以将其转换器设置为您实现的内容,并在该转换器内部决定显示值。否则,如果你喜欢根据值查看图标,你可以这样做:

<p:column headerText="My Boolean Value">
<p:graphicImage value="/resources/images/tick.png" rendered="#{MODEL.boolean}"/>
<p:graphicImage value="/resources/images/red-cross.png" rendered="#{not MODEL.boolean}"/>
</p:column>

希望对您有所帮助:)

关于jsf - 在 Primefaces DataTable 中表示一个 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621436/

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