2012-03-03 49 views
3

這裏是我的aspx:如何渲染沒有任何樣式屬性的gridvew?

<asp:GridView ID="GVWOReport" runat="server" DataSourceID="ldsWOReport" 
    onprerender="GVWOReport_PreRender" GridLines="None" CssClass="report" > 
    <HeaderStyle CssClass="headerRow" /> 
    <RowStyle CssClass="row" /> 
    <AlternatingRowStyle CssClass="altRow" /> 
    <FooterStyle CssClass="footer" /> 
</asp:GridView> 

這裏是我提供的HTML:

<table class="report" cellspacing="0" id="GVWOReport" style="border-collapse:collapse;"> 
    <thead>...</thead> 
    <tbody>...</tbody> 
</table> 

我想表標籤都沒有,但我的class和id屬性。我發現GridLines="None"帶走了邊界,但我無法讓cellspacingstyle消失。

回答

4

在設計視圖中將CellSpacing屬性設置爲-1。這樣做後我沒有獲得任何樣式或細胞空間屬性。我正在使用asp.net 4.0。

+0

這樣做,謝謝! – SupremeDud 2012-03-06 21:40:14

1

看看GridView Control Adapter: ASP.NET 2.0 CSS Friendly Control Adapters 1.0。如果提供了更多的功能比你需要:

適配器爲GridView控制的目標是創建一個 <table>是更薄,比生產什麼 無需適配器更好的組織。當然,您可以將此適配器重寫爲 ,完全消除<table>,用各種<div> 標籤等代替它。但是,網格基本上是一張表,因此邏輯上它似乎是這樣。

修改後的GridView消除了內聯樣式的使用。 <table>中的行分爲<thead><tfoot><tbody>部分。 這些使得閱讀和理解標記變得更容易。更重要的是,這些部分可以很容易地創建用於管理<table>中特定行的外觀的 的CSS規則。

+2

如果您使用的是asp.net 2.0,請使用它們。如果你使用的是asp.net 4.0,這些控件大部分都是css友好的 - 你只需要相應地設置屬性即可。如果你設置了Gridlines =「None」和CellSpacing =「 - 1」,你的Gridview將只是一個帶有ID的表格標籤。 – jmaglio 2012-03-04 17:06:15