当用户单击数据表中的单元格时如何执行代码?类似于 a 上的 listener 和 actionListener p:commandButton
。
例如
<p:commandButton oncomplete="PF('editProductDialog').show()"
actionListener="#{bean.doStuffToGetASelectOneMenuReadyforTheEditProductDialog()}" />
public void doStuffToGetDialogReady() {
//query databases to get select item list
}
仅当/如果用户单击命令按钮时才查询数据库
但是对于 p:dataTable 内联单元格编辑,我如何调用仅在单击数据表单元格进行编辑时才会查询数据库以获取选择项的代码?
<p:cellEditor>
<f:facet name="output"/>
<f:facet name="input">
<p:selectOneMenu>
<f:selectItems value="#{bean.someListSpecificToThisUser}" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
我一直在方法中填充someListSpecificToThisUser
selectItems 列表@PostConstruct init()
@PostConstruct
public void init() {
//code specific to the page and datatable
someListSpecificToThisUser = service.queryValuesForUser(user);
}
但是如果用户从不单击单元格来编辑 selectOneMenu 值,那么我会点击数据库并将列表无缘无故地存储在内存中。还是我不应该担心开销?