문제

이것은 .NET 세계의 Gridview 전문가에게 필요한 첫 번째 실제 질문입니다.

나는 코드 숨김에서 Gridview를 생성하고 있으며 열에 많은 숫자 데이터를 보유하고 있습니다.하지만 코드 숨김의 숫자 필드에 쉼표를 추가합니다.Gridview에 로드할 때 정렬 기능이 켜져 있지만 Gridview는 쉼표를 추가하기 때문에 숫자로 정렬하는 대신 ALPHA 정렬을 선택합니다.

그래서 도움이 필요해요.이걸 한번 시도해 볼 의향이 있는 사람이 있나요?Gridview의 일부 열을 사용 중인 알파 정렬이 아닌 숫자 정렬로 변경해야 합니다.

도움이 되었습니까?

해결책 4

대신 JQUERY Table Sorter를 사용했습니다.

여기에서 찾을 수 있습니다: 테이블 분류기

다른 팁

자신만의 비교자를 구현하고 문자열로 정렬하게 되면 숫자를 '적절하게' 처리하는 알고리즘을 자연 정렬이라고 합니다.Jeff는 여기에 대해 꽤 좋은 항목을 작성했습니다.
인간을 위한 정렬:자연 정렬 순서

여기에서 C#으로 꽤 좋은 구현을 찾을 수 있습니다.
http://www.codeproject.com/KB/string/NaturalSortComparer.aspx

정렬을 수행하는 방법에 따라 위 방법 중 하나를 사용할 수도 있고, 열이 실제로 숫자 유형인 경우 DB로 돌아가서 정렬을 수행한 다음 나중에 장식을 추가할 수도 있습니다.

P-Invoke는 당신의 친구입니다.

[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);

그런 다음 이를 자신의 비교자로 사용할 수 있습니다.

예를 들어 (VS2005에서)

Array.Sort(tringArray, delegate(string left, string right)
{
    return StrCmpLogicalW(left, right);
});

나는 이것이 매우 오래되었다는 것을 알고 있지만 데이터와 프리젠테이션을 혼합하고 있습니다.그게 바로 그 종류를 망치는 일이에요.쉼표를 추가하지 않고 SQL에서 숫자를 가져온 다음 프레젠테이션 레이어에 추가합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top