2016-11-08 2 views
1

나는 Trirand JQGrid 4.6을 사용하여 그룹 헤더 행 JQGrid를 생성했습니다. 당신이 날짜 컬럼 페이지로드에 오름차순으로 정렬되어 볼 수 있듯이그룹 헤더 행 모드에서 JQGrid의 각 그룹 아래에서 자식을 어떻게 정렬합니까?

:

내가이 demo website의 코드를 추출 할 수 있습니다. 그래서 각 그룹의 모든 아이들은 날짜의 오름차순으로 정렬됩니다. 하지만이 열을 내림차순으로 정렬하여 페이지로드시 강제로 정렬하도록하면 하위 정렬 순서대로 정렬됩니다.

  1. 그리드를 만드는 방법 Inv Inv Column의 정렬을 중단 하시겠습니까?

    enter image description here

    jQuery("#list483").jqGrid({ 
        data: mydata, 
        datatype: "local", 
        height: 'auto', 
        rowNum: 30, 
        rowList: [10,20,30], 
        colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
        colModel:[ 
         {name:'id',index:'id', width:60, sorttype:"int"}, 
         {name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"}, 
         {name:'name',index:'name', width:100, editable:true}, 
         {name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number", editable:true}, 
         {name:'tax',index:'tax', width:80, align:"right",sorttype:"float", editable:true},  
         {name:'total',index:'total', width:80,align:"right",sorttype:"float"},  
         {name:'note',index:'note', width:150, sortable:false}  
        ], 
        pager: "#plist483", 
        viewrecords: true, 
        sortname: 'name', 
        grouping:true, 
        groupingView : { 
         groupField : ['name'], 
         groupColumnShow : [false], 
         groupText : ['<b>{0} - {1} Item(s)</b>'] 
        }, 
        caption: "Configure group header row" 
    }); 
    

    EXTENDED POST

는 :

enter image description here

난 이후에 대화를 드리고 있습니다. 이 시나리오를 가정하십시오. 데이터가 DB 저장 프로 시저에서 나오고 stored procedure은 특정 행 순서 (이미지 참조)로 데이터를 가져오고 그리드에있는대로 정확하게 그 순서를 사용하려고합니다.

첨부 파일에 표시된대로 내가 demosite에서 사용하는 데이터 세트를 단순화했다고 가정합니다. 여기서 첨부 된 이미지는 3 열만 사용합니다 Name, Date, Amount. 이미지에서 볼 수 있듯이 네 개의 레코드가 있으며 NamesDates의 두 그룹이 있습니다. 내가 너무 그리드에 이미지에 표시된 레코드의 정확한 순서를 사용해야한다고 가정합니다. 다른 단어도 그리드의 저장 프로 시저에서 행 순서를 사용합니다. 그리드의 기본 정렬 등을 해제해야합니다. 내가 어떻게 성취합니까?

그래서 최종 결과는 다음과 같이해야합니다 :

 Test1 
      12/12/2012   12000 
      10/4/2012   2000 
Test2 
      1/1/2013   300000 
      7/24/2016   46000 

답변

1

내가 코드가 그림을 일치하지 않는 것이라고 생각합니다. 아마 sortname: "invdate"을 사용합니다.

invdate으로 정렬 순서를 변경하려면 sortorder: "desc" 옵션을 추가해야합니다.

당신이 (당신이 groupField : ["name"]를 사용 때문에 name) 당신은 groupingViewgroupOrder 속성을 추가 할 택시로 그룹화 된 데이터의 순서를 변경해야하는 경우. 예를 들어,

groupingView: { 
    groupField: ["name"], 
    groupOrder: ["desc"], // "asc" is by default 
    groupColumnShow: [false], 
    groupText: ["<b>{0} - {1} Item(s)</b>"] 
} 
+0

답장을 보내 주신 것에 대해 감사드립니다. 게시물에 명시된 내용은 그룹 헤더 이름을 정렬하지 않도록 각 그룹의 행을 정렬하는 것이 었습니다. 그래서 어떻게 asc/asc에서 날짜 열에 의해 각 그룹의 행을 정렬합니까? –

+0

@ANP : 천만에요! 나는 그 질문에 대한 대답으로 시작했다. 그리드에'sortorder : "desc"옵션을 추가해야한다. 'sortname : "invdate", sortorder : "desc"'및'groupingView : {groupField : [ "name"], ...}'를 사용하면 그리드가 먼저'name'에 의해 분류되어 그룹화되고 두 번째 정렬 기준으로'desc' 순서에서'invdate'에 의해 정렬됩니다. – Oleg

+0

또 다른 간단한 질문은 그리드로드 또는 페이지로드시 그룹 헤더의 그룹 헤더와 행에서 정렬을 중단하는 방법이 있습니까? DB에서 저장 프로 시저가 있다고 가정하고 그리드에있는 행의 순서를 사용해야합니다. –