如何让圆角矩形图形跨越 ASP.NET GridView 标题行中的所有列?
我目前已经创建了一个圆角矩形图形,并使用 CSS 将其添加到 gridview 标题背景,如下所示:-
.datagrid th
{
background-image: url('../images/rounded_graphic.jpg');
}
...但这只是在标题的每一列中显示它,而不是跨越整个标题行。
有任何想法吗 ?
如何让圆角矩形图形跨越 ASP.NET GridView 标题行中的所有列?
我目前已经创建了一个圆角矩形图形,并使用 CSS 将其添加到 gridview 标题背景,如下所示:-
.datagrid th
{
background-image: url('../images/rounded_graphic.jpg');
}
...但这只是在标题的每一列中显示它,而不是跨越整个标题行。
有任何想法吗 ?
您生成的数据网格必须在列之间没有间距。
至少这是一个粗略的想法:)
将 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>
我以前做过。这是我想出的大致代码:
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 轴重复。