首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使数据表标题跨越多个列

如何使数据表标题跨越多个列
EN

Stack Overflow用户
提问于 2010-03-10 04:15:38
回答 2查看 16.1K关注 0票数 6

我有一个简单的,它目前有四个列、一个标题行和(包含当前数据)三个数据行。

我必须增加三列,这部分很容易。

我还想在现有的标题行之前添加另一个标题行,其标题跨越列的子集。

所期望的结果如下:

第1列:第一行为空;第二行为标题。

列2-4:第一行标题跨越3列;第二行有单独的列标题。

列5-7:第一行标题跨越3列;第二行有单独的列标题.

这个是可能的吗?如果是的话,我该如何做?

下面的图片显示了它应该是什么样子。

  1. 在我做任何更改之前,这是数据表。 表示例1 http://www.isw.com.au/home/sjleis/stuff.nsf/tableexample1.gif
  2. 这是在我添加了三列之后的数据表。我能轻而易举地做到这一点。 表示例1 http://www.isw.com.au/home/sjleis/stuff.nsf/tableexample2.gif
  3. 这显示了我想要的最终结果,但我不知道。请注意,“零售销售”和“舰队/政府销售”标题分别跨越三列。 表示例1 http://www.isw.com.au/home/sjleis/stuff.nsf/tableexample3.gif
EN

回答 2

Stack Overflow用户

发布于 2010-03-10 20:43:16

如果您使用带有breakBefore属性的Richfaces (正如Bozho提到的那样),这将很容易。

下面是一个简单的例子:

代码语言:javascript
复制
<rich:dataTable value="#{countryCodeListFactory}" var="c">
    <f:facet name="header">
        <rich:columnGroup>
            <rich:column colspan="2">Main</rich:column>
            <rich:column colspan="4">Other Details</rich:column>
            <rich:column breakBefore="true">Country ID</rich:column>
            <rich:column>Name</rich:column>
            <rich:column>Region</rich:column>
            <rich:column>Alpha</rich:column>
            <rich:column>ISO</rich:column>
            <rich:column>Flag Path</rich:column>
        </rich:columnGroup>
    </f:facet>
    <rich:column>#{c.countryId}</rich:column>
    <rich:column>#{c.countryName}</rich:column>
    <rich:column>#{c.region}</rich:column>
    <rich:column>#{c.alpha3}</rich:column>
    <rich:column>#{c.isoNum}</rich:column>
    <rich:column>#{c.flagImage}</rich:column>
</rich:dataTable>

如果你不是,那么希望你使用的是小块。然后,您可以使用<ui:repeat>手动构建表。

代码语言:javascript
复制
<table>
    <tr>
        <th colspan="2">Main</th>
        <th colspan="4">Details</th>
    </tr>
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Region</th>
        <th>Alpha</th>
        <th>ISO</th>
        <th>Flag</th>
    </tr>
    <ui:repeat value="#{countryCodeListFactory}" var="c">
    <tr>
        <td>#{c.countryId}</td>
        <td>#{c.countryName}</td>
        <td>#{c.region}</td>
        <td>#{c.alpha3}</td>
        <td>#{c.isoNum}</td>
        <td>#{c.flagImage}</td>
    </tr>
    </ui:repeat>
</table>
票数 4
EN

Stack Overflow用户

发布于 2010-03-10 07:30:56

你不能用<h:dataTable>来做这个。好吧,您可以使用一些丑陋的技巧,比如用javascript修改DOM并添加所需的列,但这不是您应该做的。

看看RichFaces dataTable --它的列支持colspan属性。

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

https://stackoverflow.com/questions/2414468

复制
相关文章

相似问题

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