首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rich:panel中的rich:extendedDataTable被压缩

rich:panel中的rich:extendedDataTable被压缩
EN

Stack Overflow用户
提问于 2012-04-03 17:03:45
回答 2查看 1.7K关注 0票数 0

我正在尝试在面板中使用extendedDataTable。我使用以下代码:

代码语言:javascript
复制
<?xml version="1.0" encoding="ISO-8859-1" ?>
<ui:composition 
    xmlns:jsp="http://java.sun.com/JSP/Page" 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:ui="http://java.sun.com/jsf/facelets">

    <f:view>
        <h:head></h:head>
        <h:body>
            <h:form id="form">
                <rich:panel style="width:400px">
                    <rich:extendedDataTable 
                          value="#{mitarbeiterBean.mitarbeiter}"
                          var="mitarbeiter"
                          style="width: 100%;">
                        <rich:column sortBy="#{mitarbeiter.vorname}">
                            <f:facet name="header">
                                <h:outputText value="Vorname" />
                            </f:facet>
                            <h:outputText value="#{mitarbeiter.vorname}" />
                        </rich:column>

                        <rich:column sortBy="#{mitarbeiter.nachname}">
                            <f:facet name="header">
                                <h:outputText value="Nachname" />
                            </f:facet>
                            <h:outputText value="#{mitarbeiter.nachname}" />
                        </rich:column>
                    </rich:extendedDataTable>
                </rich:panel>
            </h:form>
        </h:body>
    </f:view>
</ui:composition>

支持bean:

代码语言:javascript
复制
import javax.inject.Named;

@Named
public class MitarbeiterBean {
    public class Mitarbeiter {
        private String vorname;
        private String nachname;

        public Mitarbeiter (String vorname, String nachname) {
            this.vorname= vorname;
            this.nachname= nachname;
        }

        public String getVorname () {
            return vorname;
        }

        public void setVorname (String vorname) {
            this.vorname= vorname;
        }

        public String getNachname () {
            return nachname;
        }

        public void setNachname (String nachname) {
            this.nachname= nachname;
        }
    }

    public Mitarbeiter[] getMitarbeiter () {
        return new Mitarbeiter[] {
            new Mitarbeiter("Hans", "Müller"),
            new Mitarbeiter("Heiri", "Meier"),
            new Mitarbeiter("Max", "Mustermann"),
            new Mitarbeiter("Susi", "Sorgenlos")
        };
    }
}

表不使用它的空间,被压缩到左边。通过下面的CSS,我几乎得到了我想要的东西:

代码语言:javascript
复制
.rf-edt-tbl {
    width: 100%;
}

.rf-edt-tbl tr td {
    width: 50%;
}

.rf-edt-tbl tr td div {
    width: auto;
}

但是当滚动条出现时,表格的标题和内容就不对齐了。

我怎样才能让我的桌子看起来正确呢?

EN

回答 2

Stack Overflow用户

发布于 2012-04-13 20:07:00

在您的rich:extendedDataTable标记中使用此样式

代码语言:javascript
复制
style="table-layout:fixed;"
票数 0
EN

Stack Overflow用户

发布于 2012-05-31 21:11:49

我也有同样的问题,我会提供更多的信息,以防它提供一些线索:

每个单元格都有这个额外的类(可能与列大小调整有关):

代码语言:javascript
复制
.rf-edt-c-j_idt162 {
  width: 100px;
}

对于每一列,j_idt之后的数字都不同。这个类固定列宽,压缩列。

它覆盖了.rf-edt-c和.rf-edt-hdr-c,所以我不能使用它们设置特定的宽度。

<div class="rf-edt-c rf-edt-c-j_idt162"...

如果我用下面这样的方式设置列宽:

代码语言:javascript
复制
.rf-edt TABLE {
   width:100;
}
.rf-edt DIV {
   width: 100%;
}

然后,列展开以填充区域,但标题和内容对齐错误,因为标题和内容位于不同的表中。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9990160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档