[DevExpress] DataView AsEnumerable 하는 방법

DevExpress에서 DataView에 대해 AsEnumerable 메서드를 사용하려면 DataTableExtensions 클래스로 형을 변환하여야 합니다.

DataTableExtensions.AsEnumerable

//
// 요약:
//     System.Collections.Generic.IEnumerable`1 개체를 반환하며, 제네릭 매개 변수 T는 System.Data.DataRow입니다.
//     이 개체는 LINQ 식 또는 메서드 쿼리에 사용될 수 있습니다.
//
// 매개 변수:
//   source:
//     열거 가능하게 만들 소스 System.Data.DataTable입니다.
//
// 반환 값:
//     System.Collections.Generic.IEnumerable`1 개체이며, 제네릭 매개 변수 T는 System.Data.DataRow입니다.
//
// 예외:
//   T:System.ArgumentNullException:
//     소스 System.Data.DataTable이 null인 경우
public static EnumerableRowCollection<DataRow> AsEnumerable(this DataTable source);

그리하여 뷰의 데이터소스를 데이터뷰로 변환한 다음에 Table 속성에 접근하여 메서드를 사용할 수 있도록 합니다.

var v = ((DataView)(view.DataSource)).Table.AsEnumerable().FirstOrDefault();

댓글