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

问题描述:

我有一个使用单元格编辑器功能的数据表。在每一行中,我都有一个下拉菜单,我想要的是当用户在下拉菜单中选择不同的值时,我想要更新当前行中的另一个单元格。Primefaces如何更新celleditor中dataTable中特定单元格的下拉值更改?

这里是我的专栏:

<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的模式的输入形式。

使用萤火虫,我可以看到我需要的更新如下:

tabs:editProjects:projects:1:projStartDate_input 

只有这个问题是在这个例子中,1号是指该行。

那么我怎么能在下拉菜单的同一行中插入一个单元而不会被抛出celleditor模式呢?

+1

只是一个想法...的的onSuccess p:ajax使用jquery选择器使用类选择器查找最近的“ui-icon ui-icon-pencil”,然后执行.click(),像这样... jQuery(this).closest(“tr”)。找到('.ui-icon .ui-icon-pencil')。click()应该让你回到编辑模式...没有尝试过自己... – Daniel 2012-04-09 08:16:54

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

定义rowIndexVar的数据表,并用rowIndexVar

希望帮助下进入细胞这有助于