【问题标题】:extendedDataTable resize扩展数据表调整大小
【发布时间】:2009-10-16 19:12:00
【问题描述】:

我正在使用richfaces 的组件extendedDataTable,我需要扩展网格高度以显示所有行而不使用滚动条。为此,我添加了一个在页面加载时运行的 java 脚本方法。此方法旨在调整网格的大小。

我无法在代码中执行此操作的原因是我不知道每行的高度,因为它不固定,因为允许自动换行。

我的问题是,当发生 ajax 操作并且extendedDataTable 呈现时,onLoad 不会再次执行。那么在完成 ajax 请求后如何执行 javascript 方法?

谢谢

【问题讨论】:

  • 哪个组件生成的ajax请求应该改变数据表的大小?

标签: ajax richfaces


【解决方案1】:

您是否为扩展数据表或包含它的 div 显式设置“高度”属性。 好吧,我做了一个类似的应用程序,其中扩展数据表的大小不应该超过一些固定的范围(比如 600 像素 X 600 像素)。类似的情况是单个列的情况,它们的宽度是固定的(比如 60 像素)。我通过将rich:extendedDatatable 和rich:column 的“宽度”属性显式设置为固定维度来做到这一点。 所以如果行数超过,滚动条就会出现。 现在我希望每个单元格中的数据(这是一个非常长的字符串)被包装,并且不超过给定的列宽(60px),但不能这样做?目前,extendedDataTable 将字符串修剪为前 60px 并放置...之后! 如果您能就此提供一些见解,那就太好了。

问候, 知识库

【讨论】:

    【解决方案2】:

    不要尝试监听正在重新渲染的数据表,而是将表和您的 JavaScript 包装在另一个组件中,例如 h:panelGroup。给 h:panelGroup 一个 id 并重新渲染它而不是 rich:dataTable。

    【讨论】:

      【解决方案3】:

      使用 style="height:auto;",比如:

      <rich:extendedDataTable id="tableId" value="#{someModel.someValues}" var="someVar" style="height:auto;">
          <!-- ... -->
      </rich:extendedDataTable>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-13
        • 1970-01-01
        • 2020-05-10
        • 2013-06-20
        • 1970-01-01
        • 1970-01-01
        • 2011-07-30
        相关资源
        最近更新 更多