2012-05-18 3 views
0

필요한 레코드 만 포함하도록 필터링 된 DataView가 있습니다. 그 중 Dataview에서 첫 번째 레코드를 얻고 싶습니다.C#의 필터링 된 DataView의 마지막 행

//appDV contains a bunch of records with different LOAN_STATUS. Here I'm filtering it by Approved 

     appDV.RowFilter = "LOAN_STATUS = 'Approved'"; 
     appDV.Sort = "CREATE_TIME DESC"; 
     // If more than one record, take the 1st record 
     appuser = new AppUserVO(); 
     appuser.APPUSER_ID = Convert.ToInt32(appDV.Table.Rows[0]["APPUSER_ID"].ToString()); 
     appuser.BankLenderId = appDV.Table.Rows[0]["BANK_LENDERID"].ToString().Trim(); 
     AppList.Add(appuser); 


     return AppList; 

위의 코드는 필터가 적용되기 전에 DataView 행을 반환하기 때문에 올바른 행을 반환하지 않습니다. 내가 뭘 잘못하고 있니?

+2

데이터 테이블에서 행을 가져올 수 없습니다. 데이터보기 (dataview [row idx])에서 가져와야합니다. –

+0

감사! 나는 이것을 놓쳤다 니 믿을 수가 없어. – Gotcha

답변

0

.Table이 필요하지 않다고 생각합니다. 전화 대신, 당신은 DataView.ToTable 전화를해야 표현과 행 필터를 정렬 설정 한 후

appDV.Rows[0]["APPUSER_ID"].ToString(); 
-1

은 첫 번째 행에서 열 값을 얻으려면 :

string columnVal= appDV.ToTable().Rows[0]["COLUMN_NAME"].ToString(); 

DataView의 검색 값을 DataTable로 변환하려면 먼저 .ToTable()을 사용해야합니다.

관련 문제