jsf - 可编辑数据表 RowKey Null

标签 jsf primefaces datatable

我有一个可编辑的 Primefaces 数据表,配置为在编辑单元格时调用 onCellEdit() 方法。一切工作都很好,除了 CellEditEvent.rowKey 始终为 null,尽管在数据表声明中使用“rowKey=”将其显式设置为有效值。 Primefaces Datatable documentation让我相信我需要 rowKey 来获取包含正在编辑的单元格的行的内容。我需要整行的内容,以便可以将显示的数据与数据库中的相同数据进行比较,以确定自渲染数据表以来持久数据是否已被另一个客户端更改,从而捕获并发编辑。

最佳答案

在阅读了十几篇或更多关于行可选择数据表中 rowKey 为空的文章后,我终于意识到 rowKey 是在行选择时填充的,而不是在单元格编辑时填充的。然而,rowIndex 在单元格编辑时不为空,并且可靠地为我提供行号(从零开始),以便我可以检索整个行的内容,以及用于填充该行的对象的值(在我的例子中包括我想从 Datatable.getValue() 放入 rowKey) 的值。 rowKey 的用途在文档中并不清楚(对我来说),所以我想我会将其分享给遇到类似问题的任何人。

关于jsf - 可编辑数据表 RowKey Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44790692/

相关文章:

java - jsf向flex传递参数

ios - 使用 WildFly 迁移到 JDK 10 和 JSF 2.3 后,iOS 和 Mac OSX 上的站点渲染中断

jsf-2 - Primefaces p :calendar, 值设置不正确

jsf-2 - 如何消灭 p :message from p:dialog on close?

jquery - 使用 jqueryTabs 和 TableTool 导出不起作用

asp.net - 在已创建的 DataTable 对象上使用 SELECT DISTINCT?

java - 在请求范围内动态呈现 JSF 2 内容 - 在动态内容中时不会调用监听器

java - JSF - 构建表单的正确方法

java - 动态用户界面 :include

C#优化内存使用: How to free memory claimed by DataTable