我有一个PrimeFaces DataTable,其中一列名为'name',行扩展名为'description'。
是否可以通过单击来选择这些行,但是在扩展时无法触发选择事件?
修改
<h:form id="customerCategoryListForm">
<p:dataTable var="customerCategory" value="#{admin.customerCategories}" id="customerCategoryList"
paginator="true" rows="10"
rowKey="#{customerCategory.id}" selectionMode="single" selection="#{admin.selectedCustomerCategory}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,25,50"
emptyMessage="Nincs adat!">
<p:ajax event="rowSelect" update=":customerCategoryDialogForm:customerCategoryDisplay" oncomplete="customerCategoryDialog.show()" />
<f:facet name="header">
Categories
</f:facet>
<p:column width="10">
<p:rowToggler />
</p:column>
<p:column headerText="Category name" sortBy="#{customerCategory.name}" width="740">
<h:outputText value="#{customerCategory.name}" />
</p:column>
<p:rowExpansion>
<h:outputText value="#{customerCategory.description}" />
</p:rowExpansion>
<f:facet name="footer">
<p:commandButton value="Új hozzáadása" />
</f:facet>
</p:dataTable>
</h:form>
答案 0 :(得分:0)
不是让整个列打开对话框,而是可以将列中的outputText
更新为commandLink
,它仍将使用AJAX来调用辅助bean:
<p:commandLink
value="#{customerCategory.description}"
actionListener="#{customerCategory.fooMethod(customerCategory)}" update=":customerCategoryDialogForm"
oncomplete="PF('customerCategoryDialog').show();"/>