2009-06-24 4 views
0

dotnet 2.0 사용. 나는 현재 다음과 같은 코드가 있습니다DataView에서 강력한 형식의 행을 반복하는 더 나은 방법은 무엇입니까?

DataView dv = new DataView(dsTrans.Transactions, filterSpec, sortSpec, 
          DataViewRowState.CurrentRows); 

foreach (DataRowView dvr in dv) 
{ 
    DSTransactions.TransactionsRow transRow = (DSTransactions.TransactionsRow)dvr.Row; 
    // do something with transRow 
} 

여기서 "dsTrans"강력한 형식의 데이터 집합입니다. 캐스팅 (또는 "as"키워드 사용)과 관련되지 않은 DataView 행을 반복 할 수있는보다 안전한 형식 방법이 있는지 궁금합니다.

(A DataView를를 사용하는 이유입니다, 일부 주문 및 필터링이 필요합니다)

감사합니다.

+0

이 반복 interate에서 제목을 이름을 변경 할 수 있습니다 – SwDevMan81

답변

1

이 작업을 시도 할 수 :

// Only one cast here 
Enumerator<DSTransactions.TransactionsRow> enumer = (IEnumerator<DSTransactions.TransactionsRow>)dv.GetEnumerator(); 
while (enumer.MoveNext()) 
{ 
    // enumer.Current will be of type DSTransactions.TransactionsRow 
    Console.WriteLine(enumer.Current); 
} 
enumer.Dispose(); 
관련 문제