【问题标题】:How do I disable PrimeFaces column overflow hiding within a datatable如何禁用隐藏在数据表中的 PrimeFaces 列溢出
【发布时间】:2016-11-27 23:52:42
【问题描述】:

我目前正在使用具有许多列的<p:dataTable>(来自 PrimeFaces 5.2),当我接近数据表的父容器的宽度时,PrimeFaces 开始隐藏列;不幸的是,它似乎是最重要的一列(左边第一个,<p:datePicker>)。

我已尝试按照the ShowCase site 中的说明为该列分配priority="1" 和其他列priority="3",但第一列仍处于隐藏状态。

除了将数据表嵌套在<p:tabView> 中之外,我还尝试通过scrollable="true" 使数据表可滚动并分配宽度,或者也尝试将数据表包装在<p:scrollPanel> 中,但该列仍被隐藏无论哪种情况。

当我删除足够多的列(从表的最右侧)时,隐藏的列将再次出现。

我对未绑定/硬编码到特定列的解决方案感兴趣,因为我在第 2 列或第 3 列遇到了同样的问题,具体取决于分辨率或浏览器宽度...我想确保我的用户看到的是编码到数据表中的所有内容,即使这意味着他们必须滚动,而不是让动态函数抑制用户或我自己不知道的值。

【问题讨论】:

  • 可以分享一些代码吗?作为提示,您可以通过 tableStyle="width:auto" 自动设置数据表的宽度
  • 也许你可以使用column togglerscroll option
  • @chaeschuechli - 谢谢,今晚我会添加一些示例代码。
  • @jNick - 列切换器将使用户能够关闭他们当前看到的列,不幸的是他们没有看到所需的列。我尝试了滚动选项,但在表格中包含几列后,该列仍然隐藏。
  • @chaeschuechli - 是的,你成功了! tableStyle="width:auto" 是缺少的魔法,只要我将它添加到表中,所有列就会按预期显示。您能否将其发布为答案,我会将其标记为正确。再次感谢!!

标签: jsf jsf-2 primefaces datatable


【解决方案1】:

基本上,我建议将tableStyle="width:auto" 添加到<p:datatable>,这样您就不必处理单列宽度。 Primefaces 将根据列条目的长度为您动态处理。

【讨论】:

  • 好的 - 我想出了如何接受 chaeschuechli 的回答,效果很好,非常感谢!
猜你喜欢
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
相关资源
最近更新 更多