巧用CSS解決asp.net中Gridview邊框樣式問題

冰點沐雪發表於2012-08-08

今天用GridView控制元件時候,生成表格的內邊框老是去除不了..上網查了下,就設定GridLines=”None”最好用,哈哈!

另外還有Css的解決方案

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


相關文章