2017-04-03 3 views
0

나는 간단 할 수도있는 질문이 있습니다. "F-213", "F-1113/A"등과 같은 데이터 테이블 열에 값이 있습니다. 이 수를 추출하고 숫자로 표의 행을 정렬 할 수 있습니까? 나는 이와 같은 것을 시도했다 :숫자를 추출하여 DataTable의 행 정렬

DataTable orderedDt = _table.AsEnumerable() 
      .OrderBy(r => int.Parse(r.Field<string>(int.Parse(Regex.Match("F-Number", @"\d+").Value)))) 
      .CopyToDataTable(); 

그러나 나는 포맷 예외를 얻고있다.

감사합니다.

+0

어떤 예외가 발생하는지 더 잘 알 수 있습니다. 실제로 데이터 행이나 실제 열 값과 같은 데이터 가능 또는 데이터가 필요합니다. –

+0

형식 예외가 발생합니다. 실제로 데이터 테이블이나 데이터가 필요하다는 것은 무엇을 의미합니까? – Canox

+0

나는 단지 내가 당신에게 데이터 테이블 객체가 아닌 데이터 행을 돌려 줄 것이라고 말하고 싶었다. 그래서 난 그냥 반환 또는 데이터 행에 데이터 테이블이 필요 알아요 ?? –

답변

1

당신은 내가이 시험하고 작동 잘 한

var reg = @"(\w)-(\d+)(.*)"; 
var orderedDataRowList = dataTable.Rows.Cast<DataRow>() 
     .OrderBy(c => 
        int.Parse(Regex.Match(c["F-Number"].ToString(), reg).Groups[2].Value)) 
     .ToList(); 

아래로 정규식으로 시도 할 수 있습니다.

+0

입니다. 이것은 잘 작동합니다! 대단히 감사합니다 !!! 이것이 내가 필요한거야. – Canox