Primefaces datatable colspan列宽 - 不工作

时间:2014-07-17 15:14:24

标签: html css jsf jsf-2 primefaces

我尝试为某些(不是所有)列创建一个固定列宽的primefaces数据表。 tableheader有3行colspan和rowspan。我现在想要修改" a"下的第一列的宽度。第二列应该是动态的。

没有Colspan,我可以使用Header Column元素的width属性。但现在我不能使用标题列,因为它是两列。忽略普通列的宽度。 (width =" 30" style =" width:30px;")

我添加了问题的截图(http://s14.directupload.net/images/140717/z2a7vbrj.png)。第一个表是正确和完整的HTML(自编)第二个表是在以下代码片段中看到的primefaces数据表:

<p:dataTable var="produktkenntniss"
            value="#{xyz}">

            <p:columnGroup type="header">
                <p:row>
                    <p:column rowspan="3" colspan="2"
                        headerText="a" />
                    <p:column colspan="2"
                        headerText="b" />
                    <p:column colspan="5"
                        headerText="c" />
                    <p:column rowspan="3"
                        headerText="d" />
                </p:row>
                <p:row>
                    <p:column rowspan="2"
                        headerText="e" />
                    <p:column rowspan="2"
                        headerText="f" />
                    <p:column colspan="2"
                        headerText="g" />
                    <p:column colspan="2"
                        headerText="h" />
                    <p:column headerText="i" />
                </p:row>
                <p:row>
                    <p:column
                        headerText="j" />
                    <p:column headerText="k" />
                    <p:column
                        headerText="l" />
                    <p:column headerText="m" />
                </p:row>
            </p:columnGroup>

            <p:column width="30">
                <h:outputText
                    value="n" />
            </p:column>
            <p:column>
                <h:outputText
                    value="o" />
            </p:column>
            ...

我希望有人可以帮助我!

祝你好运

西蒙

2 个答案:

答案 0 :(得分:0)

我使用的是PrimeFaces 5,我遇到了同样的问题。我没有找到Primefaces解决这个问题的方法,但你可以在primefaces标签中使用简单的CSS样式,它会起作用:

        <p:columnGroup type="header">
        <p:row>
            <p:column rowspan="2" style="width:10%" headerText="a"></p:column>
            <p:column rowspan="2" style="width:5%" headerText="c"></p:column>
            <p:column rowspan="2" style="width:5%" headerText="c"></p:column>

style属性在columnGroup 中的p:列标记中被识别,并且在未经PrimeFaces修改的情况下呈现。

在您的情况下,您已将样式应用于不在columnGroup中的p:列标记。

一切顺利,

卢瓦克

答案 1 :(得分:0)

不支持可滚动数据表,请查看(Datatable Scrollable with Grouping column width issue