gpt4 book ai didi

java - SelectOneMenu 的 Primefaces 3.5 + OmniFaces 1.3 SelectItemsIndexConverter 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:48 27 4
gpt4 key购买 nike

我正在使用 Primefaces 3.5 2012 年 12 月 5 日快照,以及 Mojarra 2.1.14 和 Tomcat 7.0.33。

当对具有模型/实体类的 POJO 对象(在 h:selectOneMenu 中表示)使用单元内编辑模式(非行内)时,将“click”作为 celleditevent 值,每当您单击一个对象并然后通过单击其他对象来“单击”,前一个对象显示其值而不是其标签。这只是“修饰”,因为当您重新加载页面时,它会显示标签值。

<p:dataTable id="insurancepolicyTable" var="insurancepolicy" widgetVar="insurancepolicyList" value="#{insurancepolicybean.objectList}" paginator="true" rows="15" paginatorPosition="bottom" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" currentPageReportTemplate="#{text['table.insurancepolicy.filter.count']}" rowsPerPageTemplate="15,25,50,100" emptyMessage="#{text['table.insurancepolicy.filter.notfound']}" filteredValue="#{insurancepolicybean.filteredObject}" editable="true" editMode="cell" cellEditEvent="click" draggableColumns="true" rowKey="#{insurancepolicy.id}" > 


<p:column id="branchColumn" headerText="#{text['label.branch']}" sortBy="#{insurancepolicy.branch.name}" filterBy="#{insurancepolicy.branch.name}" filterMatchMode="contains">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{insurancepolicy.branch.name}" />
</f:facet>
<f:facet name="input">
<div class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all">
<p:selectOneMenu id="branchselectinsurancepolicylist" value="#{insurancepolicy.branch}" styleClass="customSelect" converter="omnifaces.SelectItemsIndexConverter">
<f:selectItems value="#{insurancepolicybean.branchList}" var="branch" itemLabel="#{branch.name}" itemValue="#{branch}" />
</p:selectOneMenu>
</div>
</f:facet>
</p:cellEditor>
</p:column>
<p:ajax event="cellEdit" listener="#{insurancepolicybean.onEdit}" update="@form" />
<pe:resetInput event="cellEdit" for="@form" />

</p:dataTable>

最佳答案

我可以复制它。这是 PrimeFaces 中的错误。此问题与转换器无关。该问题仅由 PrimeFaces 特定的 JavaScript 代码引起,该代码错误地重新显示所选选项的值,而不是“取消编辑”后所选选项的标签。

这更容易重现如下:

<p:selectOneMenu value="#{insurancepolicy.branchAsString}">                      
<f:selectItems value="#{insurancepolicybean.branchMap}" />
</p:selectOneMenu>

private Map<String, String> branchMap;

@PostConstruct
public void init() {
branchMap = new LinkedHashMap<String, String>();
branchMap.put("branch label 1", "branch value 1");
branchMap.put("branch label 2", "branch value 2");
branchMap.put("branch label 3", "branch value 3");
}

我推荐给report给 PrimeFaces 的人。

关于java - SelectOneMenu 的 Primefaces 3.5 + OmniFaces 1.3 SelectItemsIndexConverter 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722661/

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