Jsf 用于内联单元格编辑的Primefaces数据表actionListener
当用户单击数据表中的单元格时,如何执行代码?类似于Jsf 用于内联单元格编辑的Primefaces数据表actionListener,jsf,primefaces,primefaces-datatable,Jsf,Primefaces,Primefaces Datatable,当用户单击数据表中的单元格时,如何执行代码?类似于p:commandButton上的listener和actionListener 比如说 public void doStuffToGetDialogReady(){ //查询数据库以获取选择项列表 } 只有在用户单击commandButton时才会查询数据库 但对于p:dataTable内联单元格编辑,如何调用仅在单击数据表单元格进行编辑时查询数据库以获取选定项的代码 我已经在@PostConstruct init()方法中填充了该用
p:commandButton
上的listener和actionListener
比如说
public void doStuffToGetDialogReady(){
//查询数据库以获取选择项列表
}
只有在用户单击commandButton时才会查询数据库
但对于p:dataTable内联单元格编辑,如何调用仅在单击数据表单元格进行编辑时查询数据库以获取选定项的代码
我已经在@PostConstruct init()
方法中填充了该用户的SomeListSpecific
selectItems列表
@PostConstruct
公共void init(){
//特定于页面和数据表的代码
someListSpecificToThisUser=service.queryValuesForUser(用户);
}
但是,如果用户从未单击单元格编辑selectOneMenu值,那么我会点击数据库,毫无理由地将列表存储在内存中。或者我应该不担心开销吗?在对
p:dataTable
进行单元格编辑的情况下,可以使用以下几个事件:
事件
解雇
细胞编辑
编辑单元格时。
cellEditCancel
当单元格编辑被取消时,例如使用escape键
cellEditInit
当单元格编辑开始时。
在编辑
p:dataTable
的单元格时,可以使用以下几个事件:
事件
解雇
细胞编辑
编辑单元格时。
cellEditCancel
当单元格编辑被取消时,例如使用escape键
cellEditInit
当单元格编辑开始时。
回答很好,不管编辑哪个单元格,都会调用cellEditInit事件,而且我在许多列上都有cellEdit。我将坚持在视图init/postconstruct中使用db查询和加载。有一段时间以来,它一直在以这种方式工作,我一直在研究如何提高应用程序的效率和开销。
CellEditEvent
包含行索引和UIColumn
,请参见漂亮的答案。然而,无论编辑哪个单元格,都会调用cellEditInit事件,并且我在许多列上都有cellEdit。我将坚持在视图init/postconstruct中使用db查询和加载。这种方式已经运行了一段时间了,我一直在研究如何提高应用程序的效率和开销。CellEditEvent
包含行索引和UIColumn
,请参阅