2013-06-24 2 views
0

내 jqgrid에는 사용자 정의 형식이 적용된 금액 열이 있으며 그 결과는 금액 자체 또는 특수 문자 (예 : *, "", NA, image) 일 수 있습니다. 모든 특수 문자는 금액의 종류를 설명 할 때 필요합니다. (예 : *는 사용자가 금액을 볼 수있는 권한이 없음을 의미합니다.)jqgrid에서 사용자 정의 형식의 열 정렬

제 과제는 어떻게 정렬합니까?

다음은 금액 열에 대한 내 열 모델입니다. 예를 들어

[name: 'amount', index: 'amount', type: "String", align: "right", sorttype: "float", title: false, formatter : someCustomFormatterFunction] 

내 양 데이터를 가정 였다이 같은 [100, 180, 120, 130, 160] 그러나 맞춤이 [100 *, 이미지 (130), NA] 변경 및 포맷 내 sorttype은 "float"입니다. 요구 사항은 처음에는 금액에 불과했기 때문입니다. 그러나 업데이트 된 요구 사항은 이러한 특수 문자를 도입했습니다.

이제 정렬 할 때 모든 특수 문자와 숫자를 함께 표시해야합니다. 오름차순의 경우 [100, 130, *, image, NA] 또는 [*, image, NA, 100, 130]과 같은 것입니다.

하지만 [100, 이미지, 130, NA, *]로 표시됩니다. 왜 내가 이렇게 좋아하는지 이해할 수 있습니다.

어떻게 적절하게 정렬 할 수 있습니까?

또한 다음 단계는 특수 문자를 지정된 순서로 정렬하는 것입니다. 내 모든 생각은 나를 추악한 큰 논리를 구현하는 데 데려가고있다. 구현 방법에 대한 아이디어가 있습니까?

감사합니다, 샘

답변

2

사용자 정의 서식을 사용하고 같은 텍스트를 배치 할 경우 *, image, NA, 당신은 sorttype is "float"를 사용 할 수 없습니다 열의 100, 130.

대신 맞춤 정렬을 사용하는 것이 좋습니다. 필요한 것은 sorttype을 기능으로 정의하는 것입니다. 경우 대신 원래 정렬하는 데 사용되는 다른 값으로 데이터를 바꿀 수 있습니다. 당신은 예를 들어 값 "*", "image", "NA", 100, 130"*"에 교체 할 수 있도록, "image", "NA", "000100", "000130" (모든 값은 현재 문자열). 이 경우 데이터가 성공적으로 문자열로 정렬됩니다. 또는 원래 숫자 100, 180, 120, 130, 160을 사용할 수도 있습니다. sorttype 함수는 두 번째 매개 변수로 obj을 가져오고 obj은 행의 전체 데이터를 나타냅니다. 원래 값을 보유하고 있으면 정렬을 위해 사용할 수 있습니다. jqGrid의 종류와 사용 방법을 보여주는 코드는 게시하지 않으므로 자세한 정보를 얻을 수 없습니다.

맞춤 정렬에 대한 자세한 내용 및 코드 예제는 the answerthis one을 참조하십시오.

관련 문제