1. 程式人生 > >GridView內邊框設定的問題

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;
width: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的邊框問題