GridView内边框设置的问题

          今天,在使用GridView过程中遇到这样一个问题,设置GridView的<asp:GridView  runat="server" BorderColor="#B1C3D9" BorderStyle="Solid" BorderWidth="1px" >的borderStyle和BorderColor后只有GridView的四边发生变化。内部边框无效。经过网上查阅终于找到了解决办法:

html标签中的bordercolor属性指定表格边框颜色之后,无论是表格的四个边框还是表格内部的单元格

边框颜色便都设置好了.但是在asp.net的gridview控件中,设置bordercolor之后,在生成的html代码

中是这样表示的:

<table class="gridview_m" cellspacing="0" rules="all" border="1" id="ctl00_Content_GV_1"

style="border-color:#93C2F1;border-collapse:collapse;">

原来gridview中设置的bordercolor属性是css中的属性,其结果就是gridview的四个边框的颜色变了,
但是内部单元格的颜色却是灰色,而不是你指定的颜色.

网上有不少朋友讨论过这个问题,有一种解决方法是用代码给gridview添加真正的bordercolor属性
例如:

this.GridView1.Attributes.Add("bordercolor", "red");

这样的缺点是不太灵活,如果需要用主题来控制界面样式
而代码中又有这样的语句的话,就不是很合适

利用css提供的机制,可以比较好的解决这个问题

举个例子啊
在主题中,将gridview的cssclass设置为gridview_m

<asp:GridView runat="server" CssClass="gridview_m" >
    <HeaderStyle CssClass="girdview_head" />
    <RowStyle CssClass="gridview_row" />
    <PagerStyle HorizontalAlign="Center" />
</asp:GridView>

然后在css样式表中设置:

table.gridview_m
{
border-collapse: collapse;
border:solid 1px #93c2f1;
98%;
font-size:10pt;
}

table.gridview_m td,th
{
border-collapse: collapse;
border:solid 1px #93c2f1;
font-size:10pt;
}

以上css样式中还有其他样式,主要就是这一句:table.gridview_m td,th

将会给class="gridview"的table中的th和td标签应用样式

这样就解决了gridview的边框问题

原文地址:https://www.cnblogs.com/AlexCheng/p/1549610.html