Jsf 动态设置rich:extendedDataTable的最大高度

Jsf 动态设置rich:extendedDataTable的最大高度,jsf,dynamic,richfaces,height,richdatatable,Jsf,Dynamic,Richfaces,Height,Richdatatable,我在使用RichFaces 3.3.3 final的rich:extendedDataTable中遇到了最大高度的问题 我希望表格有一个最大高度,如果表格没有填充这个高度,则动态生成行数,表格会缩小 如果我在表格上定义了一个高度,那么无论我是否没有足够的元素填充表格,表格都将始终是该大小 有一些css可以使高度动态: .rich-extdt-maindiv { height: auto !important; } .rich-extdt-

我在使用RichFaces 3.3.3 final的rich:extendedDataTable中遇到了最大高度的问题

我希望表格有一个最大高度,如果表格没有填充这个高度,则动态生成行数,表格会缩小

如果我在表格上定义了一个高度,那么无论我是否没有足够的元素填充表格,表格都将始终是该大小

有一些css可以使高度动态:

     .rich-extdt-maindiv {
           height: auto !important;
      }

      .rich-extdt-maindiv, .extdt-innerdiv {
           position: relative !important;
      }

      .extdt-outerdiv {
           height: auto !important;
           overflow: visible !important;
      }

      .extdt-content {
           height: auto !important;
           max-height: 200px;
      }
取自

但是,我希望能够在一个页面上更改多个不同大小的表的最大高度

此外,如果我使用这个css,它会覆盖任何其他extendedDataTable的所有其他高度

我目前正在做的是:

height="#{bean.listSize > 0 ? bean.listSize * 19 + 32 > 291 ? 291 : bean.listSize * 19 + 32 : 0}"
对于高度,其中19是行高32是页眉高度,291是我希望在表上显示的最大高度。 这不是一个理想的解决方案,因为我想要一个在单个行大小不同时可以工作的解决方案

我无法使用f:verbatim或类似的东西获得JavaScript调用,但这不是一个好的解决方案,因为设置最大高度会设置页面上每个表的最大高度

有谁有更好的解决办法吗

我越想弄明白这一点,就越相信extendeDataTable是有限的。我想不出一个解决方案,但是我注意到这个程序中的表有不同大小的行。这是一个实现起来似乎很有道理的特性,但是没有办法做到这一点

最后一次更新:

我什么都做不出来。我仍然在使用上面的高度函数,它很容易理解,也很容易控制每页。可能需要根据行中的项目更改19像素值,以使行变厚

有了这个解决方案,我不想在单元格中换行,因为高度是基于行数的。这增加了一点。。。在这一行的末尾

我添加了一个rich:toolTip或我自己的工具提示,因为我开始怀疑鼠标悬停在单元格中显示其余内容的richfaces。这不是最好的解决方案,但它能满足我们的需要

这是您需要的CSS:

.rich-extdt-maindiv, .extdt-innerdiv {
     position: relative !important;
}

.extdt-outerdiv {
     overflow: visible !important;
}
原始文件中的另一个css用于控制高度。他们超越了它,因为高度是动态的,并且用一个标记控制最大高度。如果您不想要动态最大高度,这是一个完美的解决方案

另一个选项是,如果每页只有一个表,则使用jQuery更改.extdt内容的最大高度。我没有选择,因为我们每页有多个

希望这对其他人有帮助

height语句不兼容跨浏览器