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模式呢?
只是一個想法...的的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