2009-06-13 77 views
4

任何人都可以告訴我如何爲asp.net datagrid控件做樣式。我有以下要求。我想知道這些風格類別適用於哪些屬性ASP.NET Datagrid:如何樣式?

1。標題行應在頂部和底部有邊框。無左和右邊框。 2。想要在標題行中的每列之間有一個行分隔符。對於左側和右側的.LEt不需要打開 3.需要爲每個列值應用不同的樣式。如何提及不同列的各種類?

我正在尋找這使得在allbrowsers具有相同的效果asolution

回答

2

您可以在<asp:DataGrid>標籤添加一節這樣的:

<HeaderStyle Font-Bold="True" HorizontalAlign="Center" VerticalAlign="Top" BackColor="SaddleBrown" ForeColor="Ivory" /> 

,也可以設置在列模板風格ike this:

<asp:BoundColumn HeaderText="Account Number" 
DataField="AccountNumber" ReadOnly="True" 
HeaderStyle-Font-Bold="True" HeaderStyle-HorizontalAlign="Center" 
ItemStyle-HorizontalAlign="Left"></asp:BoundColumn> 

我認爲你會有更好的運氣與第二種方法。我遇到一些<HeaderStyle>標籤樣式的問題,因爲它只在<asp:DataGrid>標籤下才會應用。

如果您想將相同的樣式轉換到其他DataGrid,您可以創建一個皮膚,這樣您就可以在任何地方使用相同的標題樣式。

-1

使用網格的CssClass屬性爲該表提供一個css類。爲了從前導元素和結束元素中獲得不同的行爲,還要將類應用於列標題和單元格。然後使用CSS來設置表格的元素。 IE:

ASPX:

<asp:DataGrid CssClass="grid" . . . . 
<asp:BoundColumn HeaderClass = "first" ItemClass = "first" . . . . 
(other columns) 
<asp:BoundColumn HeaderClass = "last" ItemClass = "last" . . . 

CSS:

table.grid th { border: solid 1px black} 
table.grid th.first {border-left: 0px} 
table.grid th.last {border-right: 0px} 

無需使用ASP.NET的風格,主要是因爲你可以用CSS得到多少雨衣,而不是有臃腫的代碼。

1

DataGrid和DataTable控件呈現出表格。所以使用CSS:

table { ... } 
thead { ... } 
tbody { ... } 
tfoot { ... } 
tr { ... } 
td { ... } 
th { ... } 

有很多元素要定位。

...以下是一些代碼,讓你開始:

/* target table-rows in the header element of a table and modify border-styles */ 
thead tr { 
    border-top: 1px solid #000; 
    border-bottom: 1px solid #000; 
} 
+0

你可以申請邊框錶行?我認爲人們必須在細胞水平上這樣做。 – 2009-06-13 19:20:07