我正在使用richfaces 的组件extendedDataTable,我需要扩展网格高度以显示所有行而不使用滚动条。为此,我添加了一个在页面加载时运行的 java 脚本方法。此方法旨在调整网格的大小。
我无法在代码中执行此操作的原因是我不知道每行的高度,因为它不是固定的,因为允许自动换行。
我的问题是,当发生 ajax 操作并且extendedDataTable 呈现时,onLoad 不会再次执行。那么在完成 ajax 请求后如何执行 javascript 方法?
谢谢
与其尝试侦听正在重新渲染的数据表,不如将表和 JavaScript 包装在另一个组件中,例如 h:panelGroup。给 h:panelGroup 一个 id 并重新渲染它而不是 rich:dataTable。
您是为扩展数据表或包含它的 div 显式设置“高度”属性。好吧,我做了一个类似的应用程序,其中扩展数据表的大小不应该超过一些固定的范围(比如 600 像素 X 600 像素)。类似的情况是单个列的情况,它们的宽度是固定的(比如 60 像素)。我通过将rich:extendedDatatable 和rich:column 的“宽度”属性显式设置为固定维度来做到这一点。所以如果行数超过,滚动条就会出现。现在我希望每个单元格中的数据(这是一个非常长的字符串)被包装,并且不超过给定的列宽(60px),但不能这样做?目前,extendedDataTable 将字符串修剪为前 60px 并放置...之后!如果您能对此提供一些见解,那就太好了。
问候,KB
使用 style="height:auto;",例如:
<rich:extendedDataTable id="tableId" value="#{someModel.someValues}" var="someVar" style="height:auto;">
<!-- ... -->
</rich:extendedDataTable>