2013-04-15 1 views
3

여러 작업으로 DataGridview를 정렬하고 싶습니다.linq로 동적 정렬 C#

나는 스스로 설명한다 : 나는 키와 값을 가진 사전을 가지고있다. 값은 ASC 또는 DESC의 문자열이고 나는이 전략 모두를 정렬하고 싶습니다 :

string sort=String.Empty; 
sort+=".OrderBy(c=>c.Value)"; ==> the first one in my list 
foreach(var column in list) 
{ 
    if(column.Value=="DESC") 
     sort+=".ThenByDescending(c=>c.Value)"; 

    if(column.Value=="ASC") 
     sort+=".ThenByAscending(c=>c.Value)"; 
} 

List<Formule> list=ListFormules.Where(f=>f.Identificator==null) ==> 내 문자열을 변경하는 방법을 모른다 그것은 내 문제

입니다 내 쿼리에서 작동합니다. 아이디어를 얻거나 더 좋은 방법이 있습니까?

+2

동적 linq을 확인하십시오. [link] (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx) – scheien

+1

+1 @ scheien - 아마 전체 대답으로 확장해야합니다 ..! – AlexFoxGill

+0

@AlexG 이것은 이미 설명 된 모든 대답을 세는 것도 불가능합니다 ... – usr

답변

2

의견으로 인해 내 의견을 게시하십시오.

동적 linq를 확인해야합니다.

Scott Guthrie는 이에 대한 자세한 블로그 게시물을 보유하고 있습니다. Link

+3

링크 만 응답은 가능한 링크 썩음으로 인해별로 도움이되지 않는다고 생각하면 답변을 다소 확장 할 수 있습니다. –