1

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

这是我的专栏:

<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>

我的更新有效,只是它更新了将表格从单元编辑器模式中抛出的输入表单。

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

tabs:editProjects:projects:1:projStartDate_input

唯一的问题是此示例中的数字 1 指的是行。

那么我怎样才能更新与下拉列表在同一行中的单元格而不被抛出单元编辑器模式呢?

4

1 回答 1

1

请检查类似的问题... Jquery Onchange 事件没有被触发 - Primefaces - inputText

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

希望这可以帮助

于 2012-04-09T07:15:32.200 回答