Twitter Bootstrap et ASP.NET GridView
Je vais avoir aproblem à l'aide de Twitter Bootstrap de mon ASP.NET application. Lorsque j'utilise le table table-striped
classe css à mon asp:GridView
de contrôle, , il traite le en-Tête de la table comme un Ligne.
Mon GridView
ASP.NET Balisage
<asp:GridView ID="dgvUsers" runat="server"
CssClass="table table-hover table-striped" GridLines="None"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UserID" HeaderText="ID" Visible="false" />
<asp:BoundField DataField="Username" HeaderText="Username" />
<asp:BoundField DataField="FirstName" HeaderText="First Name" />
<asp:BoundField DataField="LastName" HeaderText="Last Name" />
</Columns>
<RowStyle CssClass="cursor-pointer" />
</asp:GridView>
Résultat
<table id="cphMainContent_dgvUsers" class="table table-hover table-striped"
cellspacing="0" style="border-collapse:collapse;">
<tbody>
<tr>
<th scope="col">Username</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
</tr>
<tr class="cursor-pointer">
<td>user1</td>
<td>Test</td>
<td>User 1</td>
</tr>
<tr class="cursor-pointer">
<td>user2</td>
<td>Test</td>
<td>User 2</td>
</tr>
<tr class="cursor-pointer">
<td>user3</td>
<td>Test</td>
<td>User 3</td>
</tr>
</tbody>
</table>
Il devrait en être ainsi
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>2</td>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<td>3</td>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Comment puis-je faire de l'en-tête de mon asp:GridView
être traité comme un en-Tête par Twitter Bootstrap?
Mon code est en C#, framework 4, de construire dans VS2010 Pro.
Vous devez vous connecter pour publier un commentaire.
Vous devez définir
useaccessibleheader
attribut de la gridview pourtrue
et aussi ensuite également spécifier uneTableSection
être une tête à la suite de l'appel de laDataBind()
méthode sur vous GridView objet. Donc, si votre grille estmygv
Il devrait en résulter un bon formaté grille avec
thead
ettbody
tagsdgvUsers.HeaderRow.TableSection = TableRowSection.TableHeader;
.dgv.DataBind()
de liaison de données pour monGridView
et le NullReferenceException est maintenant disparu. Il travaille maintenant. Merci encore.Il y a 2 étapes pour résoudre ce problème:
Ajouter
UseAccessibleHeader="true"
à Gridview tag:Ajoutez le Code suivant à la
PreRender
événement:Remarque réglage de la Ligne d'en-Tête
DataBound()
fonctionne uniquement lorsque l'objet est lié aux données, toute autre publication qui n'a pas databind le contrôle gridview entraînera dans le contrôle gridview ligne d'en-tête de style revenant à une norme ligne de nouveau. Pré-rendu fonctionne à chaque fois, assurez-vous juste que vous avez une erreur de capture pour quand le gridview est vide.Juste pour le record, je me suis frontières de la table et de se débarrasser d'elle j'avais besoin pour définir les propriétés suivantes dans le contrôle GridView:
Ajouter une propriété d'afficher l'en-tête dans gridview
et dans les colonnes ajouter un en-tête modèle