简体   繁体   English

p:panelGrid中的p:panelGrid,如何在外部p:panelGrid中删除边框?

[英]p:panelGrid inside p:panelGrid, how to remove borders in an outer p:panelGrid?

I have an outer <p:panelGrid> and I use it for layout (I know regarding the element <p:layout> but couldn't achieve same results with it as with <p:panelGrid> ). 我有一个外部<p:panelGrid>并且将它用于布局(我知道关于元素<p:layout>但无法达到与<p:panelGrid>相同的结果)。 Inside this <p:panelGrid> I have various elements <p:dataTable> , another <p:panelGrid> , etc... 在这个<p:panelGrid>我有各种元素<p:dataTable> ,另一个<p:panelGrid>等等。

I need to remove borders in an outer <p:panelGrid> but everything I've done affect borders of the internal elements as well. 我需要删除外部<p:panelGrid>边框,但是我所做的一切也会影响内部元素的边框。 I tried nth-child(n) , I tried catch specific borders with #form\\\\:outer-panel-grid tr, #form\\\\:outer-panel-grid td , nothing. 我尝试了nth-child(n) ,我尝试使用#form\\\\:outer-panel-grid tr, #form\\\\:outer-panel-grid td捕获特定边界,什么也没有。 Every time internal borders disappearing as well. 每次内部边界也消失了。

Maybe somebody have a working solution for this issue? 也许有人对此问题有可行的解决方案? Thank you. 谢谢。

UPDATE: This is jsf code below, and link to generated HTML code on jsfiddle . 更新:这是下面的jsf代码,并链接jsfiddle上生成的HTML代码。

     <style>
        #form\:main-panel td{
            border: none !important;
        }

        #form\:main-panel tr{
            border: none !important;
        }
    </style>



      <h:form id="form">
        <p:growl id="growl" />
        <p:panelGrid id="main-panel">
            <p:row>
                <p:column>
                    outer table column 1
                            <p:panelGrid>
                                <p:row>
                                    <p:column>
                                        inner table column 1
                                    </p:column>
                                    <p:column>
                                        inner table column 2
                                    </p:column>
                                </p:row>
                            </p:panelGrid>
                </p:column>
                <p:column>
                    outer table column 2

                </p:column>
            </p:row>
        </p:panelGrid>
    </h:form>

To apply style rules to jsf components use styleClass attribute : 要将样式规则应用于jsf组件,请使用styleClass属性:

 <p:panelGrid id="main-panel" styleClass="outerpanelgrid">
        <p:row>
            <p:column>
                outer table column 1
                        <p:panelGrid styleClass="innerpanelgrid">
                            <p:row>
                                <p:column>
                                    inner table column 1
                                </p:column>
                                <p:column>
                                    inner table column 2
                                </p:column>
                            </p:row>
                        </p:panelGrid>
            </p:column>
            <p:column>
                outer table column 2

            </p:column>
        </p:row>
</p:panelGrid>

Try using following style rule :- 尝试使用以下样式规则:

.outerpanelgrid>tbody>tr{
    border: none !important;
}
.outerpanelgrid>tbody>tr>td{
    border: none !important;
}

OR another option is you can set border for inner panelgrid. 或另一个选择是您可以为内部面板网格设置边框。

 .outerpanelgrid tbody tr, .outerpanelgrid tbody td{  
    border: none;
 }
.innerpanelgrid tbody tr, .innerpanelgrid tbody td{
    border: 1px solid red ;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM