我有一个可编辑的 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/