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>と要素を追加する必要があることです。コンテナや要素を追加するなど、スキンファイルでさまざまな方法を試しましたが、何も機能しないようです。これを行う方法はありますか?<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を定義してグリッドビューに追加し、プレーンな古いCSSスタイルシートを使用してコントロールをターゲットにして装飾します。

于 2012-08-06T21:04:27.153 に答える