2012-04-06 77 views
1

我有一個使用單元格編輯器功能的數據表。在每一行中,我都有一個下拉菜單,我想要的是當用戶在下拉菜單中選擇不同的值時,我想要更新當前行中的另一個單元格。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

回答

相關問題