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