【问题标题】:Cell Editing in PrimeFaces get nullPrimeFaces 中的单元格编辑为空
【发布时间】:2014-01-19 19:51:18
【问题描述】:

我有一个问题:当我尝试编辑单元格时,我在 oldValuenewValue 中得到 null。这是 XHTML 的代码:

<h:form id="tabela">  
     <p:contextMenu for="tabelaPrzypomnien" widgetVar="cMenu">     
        <p:menuitem value="Edit Cell" icon="ui-icon-search" onclick="PF('carsTable').showCellEditor();return false;"/>    
        <p:menuitem value="Hide Menu" icon="ui-icon-close" onclick="PF('cMenu').hide()"/>    
    </p:contextMenu>
 <p:dataTable id="tabelaPrzypomnien" value="#{obslugaUzytkownikow.listaZadan}" var="zadania" rows="10" rowsPerPageTemplate="5,10,15"  
                 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 paginator="true" lazy="true" editable="true" editMode="cell" widgetVar="carsTable">   
<f:facet name="header">  
            In-Cell Editing  
        </f:facet>     

    <p:ajax event="cellEdit" listener="#{obslugaZadan.onCellEdit}"/>
        <p:column headerText="id grupy">  
            <h:outputText value="#{zadania.id_grupy}" />  
        </p:column>   

        <p:column headerText="Temat" sortBy="temat">  
               <p:cellEditor>  
                   <f:facet name="output">
                        <h:outputText value="#{zadania.temat}" />
                   </f:facet>  
                   <f:facet name="input">
                        <p:inputText value="#{zadania.temat}" style="width:96%" />
                   </f:facet>  
               </p:cellEditor> 
        </p:column>  

        <p:column headerText="Deadline" sortBy="deadline">  
            <h:outputText value="#{zadania.deadline}" />  
        </p:column> 

    </p:dataTable>  

和ObslugaZadan Bean,onCellEdit方法:

public void onCellEdit(CellEditEvent event)
     {  
            Object oldValue = event.getOldValue();  
            Object newValue = event.getNewValue();

            System.out.println(oldValue + " i druga: " + newValue + "    event: " + (String) event.getColumn().getHeaderText());

            if(newValue != null && !newValue.equals(oldValue))
            {  
                System.out.println("rsedtcyfvubi" + oldValue + " i druga: " + newValue);
            }  
        }

更新后的控制台信息:INFO: null i druga: null event: Temat

所以:var 事件不为空,但 oldValue 和 newValue 为空,我不知道为什么!请帮忙! 顺便说一句,我有 PF 4.0、Eclipse Kepler 和 GlassFish 4.0。我已经受够了……

【问题讨论】:

    标签: java jsf primefaces


    【解决方案1】:

    我刚刚解决了同样的问题,我是因为我的 DataTable.value 绑定到像 ManagedBean.getList() 这样的函数,而不是绑定到 ManagedBean 的字段。

    当我更改 DataTable.value 以绑定到 ManagedBean 的字段时,它起作用了。

    【讨论】:

    • 如果您想了解更多细节,请复制 obslugaUzytkownikow.listaZadan() 的实现...
    猜你喜欢
    • 2014-03-08
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2011-09-15
    • 2013-08-22
    • 2016-07-25
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多