2017-07-12 6 views
0

J'ai une page dans laquelle j'ai un GridView qui contient 300 lignes et 2 en-tête la première rangée créé à l'aide champ de modèle et un autre créé à l'aide maintenant liés aux données de GridView quand je l'utilise:Gridview lignes comptent question

foreach (GridViewRow GvRow in GridView1.Rows) 

Pour trouver des contrôles, il commence par 0, ce qui est en-tête puis de le surmonter, je l'avais essayé d'utiliser:

if (GvRow.RowIndex !=0) 
{ 
    Label test= (Label)GvRow.FindControl("test"); 
} 

Mais il s'arrêter à 299 seulement, pas lu les 300 lignes.

+0

Le rowIndex est un tableau. Et comme tout autre, il commence à «0». Votre erreur dans la pensée est que la ligne d'en-tête compte comme une ligne normale, ce qui n'est pas le cas. Il n'apparaît pas dans la collection Rows. – VDWWD

+0

s'il vous plaît suggérer ce que nous pouvons faire pour le résoudre – user5803928

+0

Il suffit de commencer à '0', alors supprimez' GvRow.RowIndex! = 0' – VDWWD

Répondre

0

Il existe 300 enregistrements et deux en-têtes dont un en-tête est un en-tête GridView et un autre en-tête est traité comme un enregistrement.

Donc, il y aura supposé 301 lignes dans GridView. Maintenant, vous devez itérer lignes de 301 lignes et non le 300.