2015-01-09 3 views
0

나는 이상한 문제가있어서 해결 방법을 모르겠습니다. 주로 내가 뭘 잘못하고 있는지 알 수 없기 때문입니다.DevExpress XtraTreeList 열 정렬 숫자

저는 DevExpress TreeList 컨트롤을 사용하고 있습니다. 나는 여러 열을 가지고, 주요 문제는 수치 적으로 열을 정렬 할 때, 열이 예컨대 :

56.2, 57.3, 63.4, 78.9... then 8.3. 

은 그래서 알파벳 순으로 정렬하는 것, 알파벳 순으로 정렬되어 있습니다. UnboundTypeDecimal 번으로 설정하고 SortModeValue으로 변경했으며 Default을 사용해 보았습니다. 또한 UnboundTypeObject으로 변경해 보았습니다. 나는 또한 FormatModeNumeric으로 변경하려고했지만 여전히 이런 일이 발생합니다. DX에서 게시물을 찾았지만 쓸모가 없었으며 내 상황과 관련이 없습니다.

아무도 도와 줄 수 있습니까? 전에이 문제를 경험 한 사람이 있습니까? 당신이 어떤 생각을 가지고 있다면 정말 고마워 할 것입니다.

미리 감사드립니다.


답장을 보내 주셔서 감사합니다. 나는 KB 이미 나는 다음과 같은 이벤트 핸들러 SortMode: Custom 설정을 시도 읽었습니다 : 나는 당신의 방법, 및 (영향을주지해야한다) 내 정규식을 시도

private void trResults_CompareNodeValues(object sender, DevExpress.XtraTreeList.CompareNodeValuesEventArgs e) 
     { 
      if (e.Column == colSize) 
      { 
       try 
       { 
        int value1 = Convert.ToInt32(Regex.Replace((e.NodeValue1 as string), "[^0-9.]", "")); 
        int value2 = Convert.ToInt32(Regex.Replace((e.NodeValue2 as string), "[^0-9.]", "")); 
        e.Result = value1 - value2; 
       } 
       catch { } 
      } 
     } 

. 여기가 더 악화되는 곳입니다. 나는 중단 점을 설정했고, 열을 정렬 할 때 무엇을 맞힐까요? 맞지 않습니다.

대체 무엇입니까?

미리 감사드립니다.

답변

0

그것은 모든 좋은 사람이야을 처리해야합니다. 나는 약간의 실수를했는데, 내 자신의 평신도가 저지른 TreeList조차도 연결하지 않았다.

0

당신은 이벤트 CompareNodeValues ​​(Example on DevExpress site)

private void mytree_CompareNodeValues(object sender,DevExpress.XtraTreeList.CompareNodeValuesEventArgs e) { 
    if (e.Column == myspecialsortcolumn) { 
    e.Result = Convert.ToDecimal(e.NodeValue1) - Convert.ToDecimal(e.NodeValue2); 
    } 
}