2017-01-03 1 views
0

오늘까지 4.10을 사용하고있었습니다. 현재 4.13 (최신)으로 업그레이드하여 일부 회귀 분석을하고 있습니다.무료 jqGrid - 정렬 순서 문제

내가 먼저 알아 차린 것은 다중 정렬 순서입니다.

4.10에서 다중 정렬 순서는 열 순서대로 (왼쪽에서 오른쪽으로) 이루어졌습니다.

4.13.5 (최신)에서 정렬 순서는 어떤 열을 먼저 선택했는지에 따라 결정됩니다.

오른쪽 동작 (IMO)은 열 순서에 따라야하므로 하나의 열 순서를 변경하면 가장 왼쪽 열이 인계되어 정렬이 적용되는 첫 번째 요소가됩니다.

현재 새로운 동작은 사용자가 다중 정렬이 적용된 순서로 알 수 없으므로 "처음 선택한 항목, 항상 먼저"를 기준으로 정렬하는 것이 혼란 스럽습니다.

설명 : 아래 2 표를 보면이

, 당신은 & '시작 시간' '총 실행'가 두 개의 컬럼으로 분류되어 볼 수 있습니다

enter image description here

enter image description here

두 테이블 모두 똑같은 데이터를 보유하고 똑같은 방식으로 정렬되지만 여전히 정렬에 대해 다른 결과를 표시합니다.

다른 결과의 이유는 열의 순서가 아니라 사용자가 정렬을 클릭 한 순서에 따라 정렬 색인이 작성된다는 것입니다 (가장 왼쪽은 색인). 사용자는 이러한 다중 열 검색에서 두 열 중 어느 열이 마스터인지 파악할 방법이 없으므로 표준이 아닙니다. 4.10에서는 순서가 고정되어 있으므로 사용자가 순서를 변경하려면 열을 오른쪽 (또는 왼쪽)으로 이동해야했습니다. 적어도 이것은 어떤 컬럼이 먼저 걸리는지를 알려줍니다.

다중 검색을 주문할 때 열을 사용하는 것이 가장 좋은 방법이라고 생각하지 않지만, 적어도 약간의 표시를했습니다. 현재의 구현에서 그렇게까지는 아무런 징조가 없습니다. 이는 사전 정의 필터링을로드 할 때 특히 혼란 스럽습니다. 감사합니다.

Tal.

답변

1

우선, 무료 jqGrid의 최신 버전은 4.13.6입니다. 10 일 전에 게시되었습니다 (2016-12-24). 버전 4.13.5는 2016 년 11 월 3 일에 게시되었습니다.

멀티 정렬의 경우 정렬 순서 (multiSort: true)는 최종 결과에 중요합니다. 사용자은 원하는 결과를 가져올 순서를 지정할 수 있어야합니다. 이전 행동을 통해 사용자는 자유롭게 행동 할 수있었습니다. 그 때문에 동작이 수정되었습니다. sortname에 순서를 지정하면 열 순서대로주의해야합니다. 문자열

p.sortname + " " + p.sortorder 

은 정렬에 사용되는 순서를 정의합니다. 만약 당신이 정말로 어떤 종류의 정렬을해야 할 필요가 있다면 onSortCol 콜백 안에서 p.sortname을 "정상화"하려고 할 수 있습니다.

+0

감사 Oleg, 이것은 내가 작성한 것이 아닙니다. 열 X가 열 Y의 왼쪽에 있다고 가정하고 둘 다 정렬됩니다. 이전 구현에서 "onSortCol : function (index, iCol, sortorder)"은 index = "X, Y"를 가지며, 새로운 구현에서는 사용자가 클릭을 선택하면 X와 Y가 "Y, X"로 표시됩니다 먼저 X를 클릭하고 X를 클릭하면 X, Y가됩니다. 사용자가 처음에 어떤 열을 클릭했는지 알지 못한다고 가정 할 때, 처음부터 다시 시작하지 않는 한, 정렬이 무엇인지 알 수있는 방법이 없습니다. – Tal

+0

이전 구현에서는 열 순서를 사용하여 열 단위를 다시 정렬하는 방법뿐만 아니라 다중 정렬 순서를 적용했습니다. – Tal

+0

@Tal : "사용자가 처음에 어떤 열을 클릭했는지 알 수 없다고 가정 해보십시오"라는 의미를 이해하지 못합니다. 사용자에게 정보가 표시됩니다. 예를 들어 그리드에는 '도시'와 '국가'및 '대륙'열이 있습니다. 사용자는 '국가'열을 먼저 클릭 한 다음 '도시'열을 클릭하면 모든 국가의 이름순으로 정렬 된 도시를 볼 수 있습니다. 사용자는 '대륙'을 클릭 한 다음 '도시'를 클릭하여 다른 결과를 볼 수 있습니다. 결과는 다를 수 있지만 사용자는 자신이해야 할 일을 쉽게 상상할 수 있습니다. 항목의 순서 ('국가'와 '도시')는 콘텐츠와 관련이 없습니다. – Oleg