2009-03-03 8 views
4

Je travaille sur un projet web ASPX assez grande avec une large utilisation de asp: GridViewsDéfinir le style global du site pour asp: GridView avec CSS simple (sans utiliser VS Skins)

Je voudrais utiliser les CSS pour définir à un endroit, à quoi ressembleront toutes les grilles, par défaut. Pour autant que je sache, une façon de faire est de "Skins" dans Visual Studio .... mais je me souviens avoir fait un peu de recherche il y a quelques temps et j'ai trouvé beaucoup de gens dédaignés et toujours utilisés CSS dans les projets asp.net (bien que je ne me souvienne pas entièrement de ce qui était si mal à leur sujet).

Mes questions sont les suivantes: 1) Est-il possible de le faire asp global par défaut: style GridView en utilisant CSS simple 2) Est-il un avantage à utiliser VS Skins du tout, ou est juste CSS simple tout aussi puissant et facile à entretenir en utilisant des peaux? MISE À JOUR: Je voulais également mentionner qu'il existe de nombreux styles uniques à GridView, tels que SelectedRowStyle-BackColor; Est-ce que cela a un impact sur ma question initiale? Si quelqu'un pouvait poster ou lier à des exemples de cela, ce serait extrêmement utile.

Répondre

15

Définir une feuille de style et définir ces styles quelque part:

/** 
* GRIDVIEW STYLES 
**/ 
.gridview { 
     font-family:"arial"; 
     background-color:#FFFFFF; 
     width: 100%; 
     font-size: small; 
} 
.gridview th { 
     background: #7AC142; 
     padding: 5px; 
     font-size:small; 

} 
.gridview th a{ 
     color: #003300; 
     text-decoration: none; 
} 
.gridview th a:hover{ 
     color: #003300; 
     text-decoration: underline; 
} 
.gridview td { 
     background: #D9EDC9; 
     color: #333333; 
     font: small "arial"; 
     padding: 4px; 
} 
.gridview tr.even td { 
     background: #FFFFFF; 
} 
.gridview td a{ 
     color: #003300; 
     font: bold small "arial"; 
     padding: 2px; 
     text-decoration: none; 
} 
.gridview td a:hover { 
     color: red; 
     font-weight: bold; 
     text-decoration:underline;  
} 

Votre gridview doit alors être configuré pour tirer profit de ces utilisant CssClass et AlternatingRowStyle-CssClass:

<asp:GridView ID="GridView1" 
       runat="server" 
       CssClass="gridview" 
       AlternatingRowStyle-CssClass="even"> 
+0

en d'autres termes, pas de skins ou d'adaptateurs sympathiques css – BenB

+0

La meilleure réponse. – tbone

0

Le Gridview sera affiché en tant que tableau HTML. Vous pouvez lui assigner une classe et la styliser comme vous le feriez pour n'importe quelle autre table. Je ne sais pas grand-chose sur les Skins VS mais j'ai créé beaucoup de gridviews de cette manière.

1

Vous pouvez utiliser les adaptateurs compatibles css, qui vous permettront d'obtenir un html un peu plus propre à partir du gridview. Il suffit de regarder la sortie html, et le style normalement avec css. Si vous trouvez que vous avez besoin de quelque chose de défini sur la grille, vous pouvez utiliser le skin global pour assigner une classe css afin que vous puissiez le styliser aussi.

Questions connexes