我在一个列表中列出了所有购买的Purchase
数据表。当您选择一行时,它应该打开一个对话框,显示特定客户的购买列表。此外,在代码中还有一个用于添加新购买的对话框,其中可以从数据表中的先前客户列表中选择Customer
。
我的问题是,当我在购买表中选择一行时,它在客户数据表中调用rowSelect
ajax事件(来自“新购买”对话框内),而不是触发它自己的{{1} }事件打开rowSelect
对话框。
Purchase
答案 0 :(得分:1)
这个问题的解决方案花了我很多年才找到,但事实证明这是一个简单的单行错字。
Customer表和Purchases表的widgetVar
是相同的:
<p:dataTable id="CustomerTable" var="customer"
rowKey="#{customer.id}"
selection="#{purchasesDAO.selectedCustomerRow}"
widgetVar="purchasesTableSearch"
filteredValue="#{purchasesDAO.filteredCustomerRow}"
selectionMode="single" value="#{purchasesDAO.customerList}"
style="font-size:10px;">
应该是:
<p:dataTable id="CustomerTable" var="customer"
rowKey="#{customer.id}"
selection="#{purchasesDAO.selectedCustomerRow}"
widgetVar="customerTableSearch"
filteredValue="#{purchasesDAO.filteredCustomerRow}"
selectionMode="single" value="#{purchasesDAO.customerList}"
style="font-size:10px;">
这是由于在开发过程中复制/粘贴代码而在更新代码时遗漏了widgetVar
行。将客户数据表中的widgetVar
更改为与购买表不同,解决了问题。