2010-03-16 4 views

Répondre

5

Vous pouvez utiliser un drapeau booléen pour cela:

bool isFirst = true; 

foreach(DataRow row in myrows) 
{ 
    if (isFirst) 
    { 
     isFirst = false; 
     ...do this... 
    } 
    else 
    { 
     ....process other than first rows.. 
    } 
} 
+1

Mmmm ... @Adam, je suis sûr que vous avez répondu à cette question avec un bonne raison. Je suis curieux de savoir pourquoi est préférable d'utiliser un booléen qui vérifie si l'index de la ligne == 0. Est plus efficace? Merci! :-) – Javier

+1

@Javier: Voulez-vous dire 'Array.IndexOf (myrows, row) == 0'? Si oui, alors oui, c'est absolument plus efficace. Si vous voulez connaître l'index, alors la solution de Hunter utilisant une boucle 'for' serait plus conseillée. Si vous faites référence à 'row.Index', alors c'est son index dans son parent' DataTable', * not * dans le tableau qu'il décrit. –

+0

aaaaaaaahmm ... :-) ok! Merci beaucoup! +1 – Javier

3

vous pouvez simplement utiliser une boucle à la place

for(int i = 0; i < myrows.Count; i++) 
{ 
    DataRow row = myrows[i]; 
    if (i == 0) { } 
    else { } 
{ 
2

Peut-être quelque chose comme ça?

foreach (DataGridViewRow row in dataGridView1.Rows) 
    { 
     if (row.Index == 0) 
     { 
      //... 
     } 
     else 
     { 
      //... 
     } 
    } 
+0

Il indique qu'il a un 'DataRow []', pas un 'DataTable'. Il n'y a pas de corrélation nécessaire entre l'index d'une ligne dans une table et son index dans un tableau arbitraire. –

0

Utilisez un int pour effectuer une boucle dans la collection.

for (int i =0; i < myDataTable.Rows.Count;i++) 
{ 
    if (i ==0) 
    { 
     //first row code here 
    } 
    else 
    { 
     //other rows here 
    } 
} 
0

d'abord convertir le DataRow DataRowView:

How Can Convert DataRow to DataRowView in c#

et après:

foreach (DataRowView rowview in DataView) 
{ 
    if (DataRowView.Table.Rows.IndexOf(rowview.Row) == 0) 
    { 
     // bla, bla, bla... 
    } 
} 
Questions connexes