Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在GridView蒙皮中应用ItemStyle或HeaderStyle_Asp.net - Fatal编程技术网

Asp.net 在GridView蒙皮中应用ItemStyle或HeaderStyle

Asp.net 在GridView蒙皮中应用ItemStyle或HeaderStyle,asp.net,Asp.net,我希望使用ASP.NET主题的外观或其他功能(或任何其他自动方式),将默认的基于列的样式应用于我的GridView控件 当前我的GridView外观如下所示: <asp:GridView runat="server" GridLines="None"> <HeaderStyle CssClass="GridViewRowHeader" /> <FooterStyle CssClass="GridViewRowHeader" /> <

我希望使用ASP.NET主题的外观或其他功能(或任何其他自动方式),将默认的基于列的样式应用于我的
GridView
控件

当前我的GridView外观如下所示:

<asp:GridView runat="server" GridLines="None">
    <HeaderStyle CssClass="GridViewRowHeader" />
    <FooterStyle CssClass="GridViewRowHeader" />
    <RowStyle CssClass="GridViewRowA" />
    <AlternatingRowStyle CssClass="GridViewRowB" />
</asp: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>

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

<asp:GridView runat="server" GridLines="None">
    <HeaderStyle CssClass="GridViewRowHeader" />
    <FooterStyle CssClass="GridViewRowHeader" />
    <RowStyle CssClass="GridViewRowA" />
    <AlternatingRowStyle CssClass="GridViewRowB" />
</asp: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>



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

这里的建议可能对你有用,简单地说,定义一个CssClass并将其添加到你的gridview中,然后使用普通的旧CSS样式表来定位和装饰控件。

对于后代来说,下面是我如何使用CSS专门解决这个问题的

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

样式选择
GridView
中的
td
(项目)和
th
(标题)单元格,其工作原理与直接在列定义中使用
ItemStyle
HeaderStyle
应用普通CSS类一样:

table.GridView tr td, table.GridView tr th
{
   /* style attributes here */
}

嗯,这是一个好主意,作为最后的手段,我也想到了类似的事情。引用的例子有帮助。我预计在区分数据行和页眉/页脚行时会出现问题,尽管如此。我的耳朵里确实有一个非常类似的跳蚤——我想我用CSS友好的控制适配器解决了这个问题,但该项目还有其他要求,值得努力。查看这篇博客文章似乎很好地解决了这个问题,我只是想补充一下,我发布这个问题是为了找到一个很酷的ASP.NET主题黑客。不过,CSS似乎必须像往常一样处理该作业。请注意,
table.GridView tr td,th
td
th
的处理方式不同。样式属性将应用于所有
th
,除非改用
table.GridView tr td,table.GridView tr th