2016-09-30 8 views
1

取得したデータwrtを説明フィールドにソートしたいが、ソートが機能していない。剣道でのグリッドデータのソートUIグリッド

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

ありがとう –

関連する問題