1

如何让圆角矩形图形跨越 ASP.NET GridView 标题行中的所有列?

我目前已经创建了一个圆角矩形图形,并使用 CSS 将其添加到 gridview 标题背景,如下所示:-

.datagrid th
{
    background-image: url('../images/rounded_graphic.jpg');
}

...但这只是在标题的每一列中显示它,而不是跨越整个标题行。

有任何想法吗 ?

4

3 回答 3

1

您生成的数据网格必须在列之间没有间距。

  • 第一列需要圆形图像的左侧
  • 中间的列需要图像的中间部分
  • 最后一列将具有图像的右侧

至少这是一个粗略的想法:)

于 2009-07-10T12:19:08.420 回答
0

将 templatefield 与 headertemplate 一起使用

<asp:GridView ID="gvPrograms" runat="server"
        ...    
        >
        ...
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                     your header formatted as you like here...
                    <table>
                    </table>
                </HeaderTemplate>
                <ItemTemplate>
                </ItemTemplate>
                    your existing layout here...
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>            
</asp:GridView>
于 2009-07-10T12:22:18.453 回答
0

我以前做过。这是我想出的大致代码:

CSS

table th.first-column {
    background: url(images/layout/tb_left.png) 0 0 no-repeat;
}

table th {
    height: 26px;
    background: url(images/layout/tb_bg.png) 0 0 repeat-x;
}

/* Had some issues across browsers just putting the image in the <th>, had to use a span */
table th.last-column span {
    display: block;
    height: 26px;
    background: url(images/layout/tb_right.png) 100% 0 no-repeat;
}

HTML

<table width="100%" cellspacing="0" cellpadding="0">
    <thead>
        <tr>
            <th class="first-column"><span>Column 1</span></th>
            <th><span>Column 2</span></th>
            <th><span>Column 3</span></th>
            <th class="last-column"><span>Column 4</span></th>
        </tr>
    </thead>
    <tbody>
        <tr>
        ...
        </tr>                           
    </tbody>
    <tfoot>
        <tr>
        ...
        </tr>
    </tfoot>
</table>

然后相应地创建您的图像,一切都应该没问题。我的第一列和最后一列图像有几百像素宽,第一列左侧有圆角边缘,最后一列右侧有圆角边缘。中间的背景图像只有 1x26 像素,并沿 x 轴重复。

于 2009-07-10T12:35:27.443 回答