Hello Guys,
<h:form id="targetsMenuPanelForm">
<p:commandButton id="cancel" ajax="false" process="@this" value="Cancel"
action="#{myMenuTabsBean.cancel}" styleClass="uta-button button-red" />
<p:commandButton id="save" process="@form" action="#{myMenuTabsBean.save}"
update="@form" value="Save" />
<p:commandButton id="new" action="#{myBackingbean.addEmptyRow}"
process="@this" update="myTable" value="New" />
<p:commandButton id="delete" value="Delete"
action="#{myBackingbean.deleteRow}" process="@form" update="@form" />
<p:dataTable id="myTable" value="#{myBackingbean.myDataModel}"
var="myList" selection="#{myBackingbean.selectedRows}">
<p:column selectionMode="multiple" id="select" />
<p:column id="namecol" headerText="Name">
<p:inputText id="name" value="#{myList.targetName}" />
</p:column>
<p:column id="typecol" headerText="Type">
<p:selectOneMenu id="types" value="#{myList.type}">
<f:selectItem itemLabel="Direct Dial" itemValue="DirectDial" />
<f:selectItem itemLabel="Private Wire" itemValue="PrivateWire" />
</p:selectOneMenu>
</p:column>
</p:dataTable>
</h:form>
上面的代碼是我的XHTML。新按鈕每次在列表中添加一個空行
單擊它。primefaces數據表選擇屬性總是首次填充第一行
現在假設我通過兩次單擊新按鈕添加了兩個空行。現在我已經用一些數據填充了兩行,並檢查了第二行復選框/選定行,並單擊了保存按鈕,將第二行保存到數據庫中。
問題始終是第一行正在填充到數組映射的
到數據表的選擇屬性,並被保存到數據庫中。
假設如果我保持第一行空和填充第二行和檢查/選擇第二
行並嘗試將其保存,應用程序引發錯誤輸入姓名和現在
第一行被選中而不是第二行。如果我取消/取消選擇第一行和
選擇/檢查第二行,並嘗試保存每一件事情順利現在。
任何人都可以幫我解決這個問題...先謝謝你們。
非常感謝您的回覆,並對延遲承認抱歉抱歉。之前我沒有觀察到頁面中嵌套窗體的用法,因爲我不是實際的開發人員(實際上這個頁面被包含在另一個具有主窗體的頁面中)。我已經刪除了嵌套窗體並刪除了不必要的ajax調用。現在每件事情都很好。正如你所說的,xhtml很好,因此接受了答案。 –
很高興看到您的問題解決。 – nosnhoj