【问题标题】:Primefaces PanelGrid colSpan errorPrimefaces PanelGrid colSpan错误
【发布时间】:2017-06-28 22:53:04
【问题描述】:

我正在尝试将页面主体与 primefaces 分开,以使其具有响应性。问题是它不尊重我指出的列。我见过其他人发生过类似的事情,但我无法发现我的代码有问题。

谁能帮帮我?

非常感谢您

  <p:panelGrid columns="4" layout="grid" style="width:100%;">
            <p:row>
                <p:column colspan="3">
                    <h:form>
                        cosas muy randomosas que tiene que usar el 75%
                    </h:form>
                </p:column>
                <p:column colspan="1">
                    <p:panelGrid columns="2">
                        <h:outputLabel for="username" value="Username:" />
                        <p:inputText id="username" value="#{userLogin.username}"
                            required="true" label="username" />
                        <h:outputLabel for="password" value="Password:" />
                        <p:password id="password" value="#{userLogin.password}"
                            required="true" label="password" />

                        <f:facet name="footer">
                            <p:commandButton value="Login" actionListener="#{userLogin.login}" />
                        </f:facet>
                    </p:panelGrid>
                </p:column>
            </p:row>
        </p:panelGrid>

【问题讨论】:

    标签: java primefaces responsive-design xhtml


    【解决方案1】:

    您不能在 p:panelGrid 中使用 colspanlayout="grid".
    正如 Primefaces manual 关于 Rowspan 和 Colspan 所述:

    • 请注意,此方法不支持网格布局。

    要实现你想要的,你应该:

    1. 设置列=“2”
    2. 删除 p:row 和 colspan
    3. 添加 columnClasses="ui-grid-col-9,ui-grid-col-3"

    您的代码应如下所示:

    <p:panelGrid columns="2" layout="grid" columnClasses="ui-grid-col-9,ui-grid-col-3">
        <p:column>
           <cosas muy randomosas que tiene que usar el 75%
        </p:column>
        <p:column>
            <p:panelGrid columns="2">
                <h:outputLabel for="username" value="Username:" />
                <p:inputText id="username" value="#{userLogin.username}"
                    required="true" label="username" />
                <h:outputLabel for="password" value="Password:" />
                <p:password id="password" value="#{userLogin.password}"
                    required="true" label="password" />
    
                <f:facet name="footer">
                    <p:commandButton value="Login"
                        actionListener="#{userLogin.login}" />
                </f:facet>
            </p:panelGrid>
        </p:column>
    </p:panelGrid>
    

    columnClasses="ui-grid-col-9,ui-grid-col-3" 将使您的列具有 75% 和 25% 的宽度。
    您可以查看有关 Responsive DesignGrid CSS 的 Primefaces 展示

    希望这会有所帮助。

    附带问题:这个 panelGrid 是否在 h:form 内?如果是,我认为您可以在第一个 p:column 中删除 h:form

    【讨论】:

    • 太棒了,非常感谢。我添加了 来测试置换内容是否应有。
    猜你喜欢
    • 2023-03-16
    • 2013-05-06
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 2014-11-27
    • 1970-01-01
    相关资源
    最近更新 更多