Asp.net 在GridView蒙皮中应用ItemStyle或HeaderStyle
我希望使用ASP.NET主题的外观或其他功能(或任何其他自动方式),将默认的基于列的样式应用于我的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" /> <
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
。