XHTML файла: AccordionPanel, содержащие таблицы данных с SelectionMode = "Multiple"
<p:tab title="firstTab" id="FT">
<p:dataTable var="..." value="#{...}" id="firstTable" selectionMode="multiple"
selection="#{myController.selectedRows}">
<p:column>...</p:column>
<p:column>...</p:column>
<p:commandButton value="View" action="#myController.viewSelected}"/>
</p:dataTable>
</p:tab>
<p:tab title="secondTab" id="ST">
<p:dataTable var="..." value="#{...}" id="secondTable" selectionMode="multiple"
selection="#{myController.selectedRows}">
<p:column>...</p:column>
<p:column>...</p:column>
<p:commandButton value="View" action="#myController.viewSelected}"/>
</p:dataTable>
</p:tab>
Managed Bean:
@ManagedBean
@RequestScoped
public class MyController{
MyObject[] selectedRows;
//get+set
public void viewSelected(){
System.out.println(selectedRows.length)
}
}
Выход консоли изменяется. Иногда вывод , но обычно выбранный контент Rows перепутался. Результат смешанный, если у меня есть выбор в обеих таблицах данных и нажмите один из двух команд CommandButton. Я предполагаю, что это происходит потому, что для кнопок нет определенного идентификатора, или, может быть, я должен использовать разные бизнес-атрибуты для каждого dataTable. Какое правильное решение этой проблемы?
Спасибо!