1

我想GridView使用皮肤或 ASP.NET 主题的其他功能(或实际上任何其他自动化方式)将默认的基于列的样式应用于我的控件。

目前我的 GridView 皮肤如下所示:

<asp:GridView runat="server" GridLines="None">
    <HeaderStyle CssClass="GridViewRowHeader" />
    <FooterStyle CssClass="GridViewRowHeader" />
    <RowStyle CssClass="GridViewRowA" />
    <AlternatingRowStyle CssClass="GridViewRowB" />
</asp:GridView>

典型的 GridView 列定义如下所示:

    <Columns>
        <asp:BoundField DataField="ExitTimestamp" HeaderText="Exit" SortExpression="ExitTimestamp">
            <ItemStyle CssClass="GridViewCell" />
            <HeaderStyle CssClass="GridViewHeader" />
        </asp:BoundField>
        <asp:TemplateField HeaderText="Visitor Name/Agency">
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Bind("VisitorName") %>'></asp:Label><br />
                <asp:Label ID="Label2" runat="server" Text='<%# Bind("VisitorAgency") %>'></asp:Label>
            </ItemTemplate>
            <ItemStyle CssClass="GridViewCell" />
            <HeaderStyle CssClass="GridViewHeader" />
        </asp:TemplateField>
    </Columns>

我想要解决的是必须将<ItemStyle>and元素添加到我的控件<HeaderStyle>中的每个列定义中。GridView我在皮肤文件中尝试了各种方法,包括在其中添加<Columns>容器和<ItemStyle>元素,但似乎没有任何效果。有没有办法做到这一点?

4

2 回答 2

2

对于后代,这就是我最终使用 CSS 专门解决问题的方式。

GridView我在我的皮肤文件中分配了一个 CSS 类,如下所示:

<asp:GridView runat="server" CssClass="GridView">

该样式在 和 中选择td(项目)和th(标题)单元格,其工作方式与直接在列定义GridView中应用纯 CSS 类一样:ItemStyleHeaderStyle

table.GridView tr td, table.GridView tr th
{
   /* style attributes here */
}
于 2013-11-13T16:58:16.947 回答
1

这里的建议可能对您有用http://forums.asp.net/t/1063057.aspx简而言之,定义并添加一个 CssClass 到您的 gridview 然后使用普通的旧 CSS 样式表来定位和装饰控件。

于 2012-08-06T21:04:27.153 回答