Primefaces如何更新celleditor中dataTable中的特定单元格下拉值更改?

时间:2012-04-06 21:02:48

标签: java jsf primefaces

我有一个使用单元格编辑器功能的数据表。在每一行中,我都有一个下拉列表,我想要的是当用户在该下拉列表中选择不同的值时,我希望更新当前行中的另一个单元格。

这是我的专栏:

<p:column headerText="Period">
    <p:cellEditor>
        <f:facet name="input">
            <p:selectOneMenu value="#{pj_details.periodDates}" id="period" size="1" styleClass="listBoxMedium">
                <p:ajax update="tabs:editProjects:projects" event="change" listener="#{ppBacker.populateProjectDates}" />
                <f:attribute name="period_key" value="#{pj_details.periodDates}" />
                <f:selectItems value="#{ppBacker.periods}" />
            </p:selectOneMenu>  
         </f:facet>
         <f:facet name="output">
                <h:outputText value="#{pj_details.periodDates}" />
         </f:facet>
    </p:cellEditor>
</p:column>

我的更新有效,但它更新了输入表单,该表格将表格退出celleditor模式。

使用firebug,我可以看到我需要的更新如下所示:

tabs:editProjects:projects:1:projStartDate_input

唯一的问题是这个例子中的数字1指的是行。

那么我怎样才能在下拉列表的同一行中创建一个单元格,而不会被抛出celleditor模式?

1 个答案:

答案 0 :(得分:1)

请检查类似的问题...... Jquery Onchange event not getting fired - Primefaces - inputText

为数据表定义rowIndexVar并在rowIndexVar的帮助下访问单元格

希望这有帮助