2010-08-11 4 views

Répondre

10

Un GridView est tout simplement rendu comme une table HTML standard, comptez donc seulement le nombre de tr éléments sous la GridView:

var totalRows = $("#<%=GridView1.ClientID %> tr").length; 
+0

Si Je dois lire la 1ère rangée du gridview comment je ferais cela? $ ("# <% = GridView1.ClientID%> tr td"). Val() ?? – chugh97

+0

Presque à droite, utilisez 'text()' au lieu de 'val()'. Voir cette question ici: http://stackoverflow.com/questions/1105759/jquery-get-td-text-from-tr-id-td-is-dynamicly-generated-so-i-dont-know-ho – GenericTypeTea

5

Chaque GridView produit HTML qui est essentiellement une table et cette table a un ID (voir la source de votre page de sortie pour savoir de quoi je parle). Vous pouvez passer l'ID de .Net à JavaScript au moyen de myGridView.ClientID ou dans ASP.NET 4 faites le ClientIdMode="Static" et utilisez donc exactement le même ID que vous utilisez pour le contrôle ASP.

Puis, en jquery (qui est une couche côté client qui est complètement séparé de la couche GridView), saisir cet identifiant et compter:

$("#mygridviewid tr").length; 
1

Vous pouvez assigner une classe CSS à votre gridview en utilisant CssClass (Je ne me souviens pas de la propriété d'orthographe exacte), puis j'y accède aux sélecteurs de classe css de jquery.

Supposons que vous avez attribué gridviewclass à cette propriété, lorsque vous écrivez -

$('table.gridviewclass')

à jquery, vous serez en mesure d'accéder à la table qui est générée en place de ce gridview par ASP. NET. Maintenant, pour accéder à toutes les lignes, vous allez écrire -

$('table.gridviewclass tr') 

qui vous donnera toutes les lignes de cette table à l'intérieur d'un tableau de jquery. Pour compter le nombre de lignes, vous serez alors écrire -

var rowcount = $('table.gridviewclass tr').length 

if(rowcount == 0) 
{ 
    // No rows found, do your stuff 
} 
else 
{ 
    // Rows found, do whatever you want to do in this case 
} 

Pour accéder à la première ligne, vous pouvez utiliser le sélecteur suivant -

$('table.gridviewclass tr:first') 

Pour accéder à la dernière ligne, vous allez écrire -

$('table.gridviewclass tr:last') 

etc. Vous pouvez trouver une liste complète de sélecteurs jquery here.

Espérons que ça aide.

0

J'ai essayé var totalRows = $("#<%=GridView1.ClientID %> tr").length; et il a échoué quand j'ai essayé

var count = $get("mygridviewclientid").rows.length 

il a donné le nombre de toutes les lignes (th et tr) J'ai aussi assuré que l'attribut ClientIDMode="Static"

Questions connexes