2010-03-15 7 views
3

Je veux utiliser Christian Bach's tableSorter client-side table sorting jQuery plugin avec mon contrôle de GridView d'asp.Net.Comment forcer le contrôle GridView d'asp.net à enrouler la première ligne à l'intérieur <thead></thead> les étiquettes

Mais le problème est, dans la documentation, il écrit:

tablesorter fonctionne sur des tables HTML standard . Vous devez inclure les balises THEAD et TBODY:

Et malheureusement asp.net rend mon GridView uniquement avec des balises d'en-tête et la ligne reste dans le 1er rang comme.

J'ai essayé:

dgvRate.HeaderRow.TableSection = TableRowSection.TableHeader; 

après avoir appelé .DataBind();

Il était seulement utile d'avoir <TH></TH> dans l'en-tête. Mais tout reste à l'intérieur

Puis-je accomplir cela, je veux dire déplacer ma 1ère ligne de <tbody></tbody> à <thead></thead>? Je ne veux pas l'ajouter manuellement à l'étape PreRender; Je suis sûr que cela pourrait être traité beaucoup plus simple, n'est-ce pas?

grâce

Répondre

7

Parfois, vous devez donner une classe accessible pour obtenir ce pour déclencher, comme ceci:

protected void Page_Load(object sender, EventArgs e) 
{ 
    dgvRate.UseAccessibleHeader = true; 
    dgvRate.HeaderRow.TableSection = TableRowSection.TableHeader; 
    dgvRate.HeaderRow.CssClass = "headerclass"; 
} 

Bien que, par souci de cohérence dans le comportement dans tous les cas, je aller la route PreRender.

+0

Cela ne fonctionne pas avec ma grille. Peut-être bcoz-je créer dynamiquement mes colonnes GridView sur le code-behind. (J'ai essayé votre suggestion sur un simple GridView asp.net et je confirme que cela fonctionne) – pencilCake

+0

@burak - Oui, ajuster les colonnes déclenche dynamiquement beaucoup d'événements, définissez-vous cela après avoir manipulé les colonnes pour la dernière fois? –

+1

Parfait! J'ai déplacé ceci à OnPrerender et cela a fonctionné. merci beaucoup! – pencilCake