【发布时间】: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 toggler或scroll option?
-
@chaeschuechli - 谢谢,今晚我会添加一些示例代码。
-
@jNick - 列切换器将使用户能够关闭他们当前看到的列,不幸的是他们没有看到所需的列。我尝试了滚动选项,但在表格中包含几列后,该列仍然隐藏。
-
@chaeschuechli - 是的,你成功了!
tableStyle="width:auto"是缺少的魔法,只要我将它添加到表中,所有列就会按预期显示。您能否将其发布为答案,我会将其标记为正确。再次感谢!!
标签: jsf jsf-2 primefaces datatable