【问题标题】:How to create two-row Header for ASP.NET GridView如何为 ASP.NET GridView 创建两行标题
【发布时间】:2008-11-17 21:00:07
【问题描述】:

我的数据是这样的,我想显示特定记录的员工和主管的值。我将向您展示一个粗略的示例,而不是描述它:

<table><tr>
<th colspan="3">Employee</th>
<th colspan="3">Supervisor</th>
</tr><tr>
<th>Name</th>
<th>Last Activity</th>
<th>Count</th>
<th>Name</th>
<th>Last Activity</th>
<th>Count</th>
</tr>
</table>

如何为 GridView 创建这个?我基本上想要 2 行作为标题,并且一些单元格应该跨越一列以上。

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    您需要gridview 的编辑或排序功能吗?我发现除了在 gridview 中显示直接表格数据之外,尝试做任何事情都是一种耐心的练习。

    为简单起见,如果您的网格是只读的,我建议使用中继器并编写您自己的表格 HTML。

    编辑回复下方的comment

    这可能是我们采取的路线,但出于相互教育的目的,我想知道您是否可以使用 GridView 做这样的事情。 – 拉森

    你可以,但这绝非易事。如果您还没有并且可以负担得起切换,您可能想要查看 ASP.NET MVC,它可以让您完全控制 HTML。您可能想查看有关一般数据访问的此链接。 http://www.asp.net/learn/data-access/ #15、#27、#51-53 可能会为您提供一些与您的 gridview 问题相关的想法。

    【讨论】:

    • 这可能是我们采取的路线,但出于相互教育的目的,我想知道您是否可以使用 GridView 来做这样的事情。
    【解决方案2】:

    正如 Galwegian 所说,冻结数据网格可以通过 CSS 表达式来实现。但这仅适用于 IE7 及以下版本。

    对于 IE 7 以上的版本和 Firefox 等其他浏览器,下面的 sn-p 应该可以工作。

    function setWidth () {
        document.getElemenById("myDiv").style.left = body.clientWidth / 2 - oDiv.offsetWidth / 2;
        document.getElemenById("myDiv").style.top = document.body.clientHeight / 2 - oDiv.offsetHeight / 2;
    }
    

    详情请参阅http://techbookshelf.blogspot.in/2012/09/expressions-in-css.html

    【讨论】:

      【解决方案3】:

      一个选项可以是处理 RowDataBound 并在 RowType for Header 上设置自己的 RenderMethod 并自己编写 HTML。

      e.Row.SetRenderMethodDelegate(New RenderMethod(AddressOf RenderHeader))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        • 2012-09-19
        • 1970-01-01
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多