2016-09-30 3 views
1

검색된 데이터를 설명 필드로 정렬하려고하지만 정렬이 제대로 작동하지 않습니다.검도의 모눈 데이터 정렬하기 Grid Grid

UI 코드 : 데이터를 표시 제대로

var gridDataSource = new kendo.data.DataSource({ 
    autoSync: true, 
    data: transformation.Activities, 
    schema: { 
     model: { 
      id: "TransformerActivityUID", 
      fields: { 

       //It has different field. for instance one is 
       TargetTable: { editable: false, sortable: true }, 

      } 
     } 
    }, 
    sort: { field: "Description", dir: "desc" }, 
    group: { field: "TargetTable" } 
}); 

CreateGrid("functionTable", new BasicGrid(gridDataSource, columns, ActivityChanged)); 
ChangesDetection(ToggleSave); 
AutoResizeModal("95%"); 
var grid = GetGridData("functionTable"); 
$("#functionsList").kendoDropTarget({ 
    group: "gridGroup", 
    drop: AddActivity 
}); 

grid.table.kendoDropTarget({ 
    group: "gridGroup", 
    drop: AddActivity 
}); 

나는 내가 여기에 동일한 데이터를 가지고

functionTableGrid = GetGridData("functionTable"); 
gridSource = functionTableGrid.dataSource; 
gridData = functionTableGrid.dataSource.data(); 
var dsSort = []; 
dsSort.push({ field: "Description", dir: "desc" }); 
var testData = gridSource.sort(dsSort); 
var sortedData= testdata.data(); 
//I have tried this 
gridData.dataSource.sort(dsSort) //not working 
gridSource.sort(dsSort); // not working 

그것의 중요한 설명 필드에 의해 정렬 할 데이터를 검색 할 때 UI에 표시됩니다. 다른 것들을 시도했지만 어떻게 작동 될지 확신하지 못합니다. JavaScript에 익숙하지 않아 도움이 될 것입니다.

+0

이 링크가 도움이됩니까? -> http://stackoverflow.com/questions/13863111/kendoui-programmatically-setting-grid-sort –

+0

var kendoGrid = $ ("# grid"). 데이터 ('kendoGrid'); 실제로 나는이 선을 이해하지 않는다. –

+0

이 질문을 보았지만 나를 위해 작동하지 않습니다 –

답변

2

gridData.toJson()을 호출하여 데이터 배열 (귀하의 경우에는 gridData)을 json 배열로 변환 해보십시오. 와 같은 시도 :

gridData = [{name: "tester 03", param2: "test3"}, 
      {name: "tester 01", param2: "test1"}, 
      {name: "tester 02", param2: "test2"}]; //Assuming some test values here 

var sortedData = a.sort(function(e,f) { 
    return e.name < f.name; //by name or description or whatever 
}); 

을 또는이 디렉터리 것은 일종의

function sortData(arr, sorter) { 
    return arr.sort(function(e,f) { 
      return sorter.dir == "desc" ? 
        e[sorter.field] < f[sorter.field] : e[sorter.field] > f[sorter.field]; 
    }); 
} 

의 방향에 대해 경우 함수로 변환과 같은 값을 전달 : sortData(gridData, {field: "Description", dir: "desc"})

가 작동 바랍니다.

+0

도움 주셔서 감사합니다. –