2010-03-16 6 views

답변

5

당신은 이것에 대한 부울 플래그를 사용할 수 루프를 사용할 수 있을까?

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

흠 ... @ 아담, 미안 당신이 이것을 대답해야 좋은 이유. 행 인덱스 == 0인지 확인하는 부울을 사용하는 것이 더 나은 이유를 알고 싶습니다. 좀 더 효율적입니까? 감사! :-) – Javier

+1

@Javier : Array.IndexOf (myrows, row) == 0를 호출하는 것을 의미합니까? 그렇다면 그렇습니다. 이것은 절대적으로 효율적입니다. 인덱스를 알고 싶다면'for' 루프를 사용하는 Hunter 솔루션을 사용하는 것이 좋습니다. 만약 당신이'row.Index'를 참조한다면, 그것은 그 부모 인'DataTable' 안의 인덱스입니다. –

+0

aaaaaaaahmm ... :-) 오케이! 매우 감사합니다! +1 – Javier

3

당신은 대신

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

아마 뭔가 :

foreach(DataRow row in myrows) 
{ 

if (first row) 
{ 
...do this... 
} 
else 
{ 
....process other than first rows.. 
} 
} 
+0

그는 'DataTable'이 아니라 'DataRow []'를 가지고 있음을 나타냅니다. 테이블의 행 인덱스와 임의의 배열 내의 인덱스 사이에는 상관 관계가 없습니다. –

0

컬렉션을 반복하려면 int를 사용하십시오.

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

첫째을 DataRowView에 DataRow를 변환 :

How Can Convert DataRow to DataRowView in c#

을하고 그 이후 :

foreach (DataRowView rowview in DataView) 
{ 
    if (DataRowView.Table.Rows.IndexOf(rowview.Row) == 0) 
    { 
     // bla, bla, bla... 
    } 
} 
관련 문제