2013-04-11 3 views
0

문자열로 전달되는 "위치"라는 열이있는 데이터 테이블이 있습니다. DataTable.Select를 사용하여 데이터 행 목록을 가져옵니다. 1, 10, 2, 3, ..., 9 가 어떻게이 문제를 해결할 수문자열에서 datatable/datarow [] 열을 int로 변환합니다.

DataRow[] drTopMenu = dtMenuItems.Select("ParentMenuID is null", "Position asc"); 

그러나, 위치 1, 2, ..., 9, 10, 데이터 열 배열이 정렬되어 제공되어 ? 필터링/정렬 전에 "위치"열의 데이터 유형을 문자열에서 정수로 변경할 수있는 방법이 있습니까?

답변

1

효율성에 대한 확신이 없으며 위치 열에 항상 int가 포함되어 있다고 가정합니다.

DataRow[] drTopMenu = dtMenuItems 
       .Select("ParentMenuID is null") 
       .OrderBy(x => int.Parse((string)x["Position"])) 
       .ToArray();