我有一个可编辑的 Primefaces 数据表,配置为在编辑单元格时调用 onCellEdit() 方法。一切工作都很好,除了 CellEditEvent.rowKey 始终为 null,尽管在数据表声明中使用“rowKey=”将其显式设置为有效值。这Primefaces 数据表文档 https://www.primefaces.org/docs/guide/primefaces_user_guide_6_1.pdf让我相信我需要 rowKey 来获取包含正在编辑的单元格的行的内容。我需要整行的内容,以便可以将显示的数据与数据库中的相同数据进行比较,以确定自渲染数据表以来持久数据是否已被另一个客户端更改,从而捕获并发编辑。
在阅读了十几篇或更多关于行可选择数据表中 rowKey 为空的文章后,我终于意识到 rowKey 是在行选择时填充的,而不是在单元格编辑时填充的。然而,rowIndex 在单元格编辑时不为空,并且可靠地为我提供行号(从零开始),以便我可以检索整个行的内容,以及用于填充该行的对象的值(在我的例子中包括我想从 Datatable.getValue() 放入 rowKey) 的值。 rowKey 的目的在文档中并不清楚(对我来说),所以我想我会为遇到类似问题的任何人分享这个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)