2016-10-31 10 views
0

宣言的に定義するグリッドがあります。列のソートでは列を文字列として解釈しますが、一部の列では数値と​​してソートすることを希望します。(kendo)宣言グリッド定義でdata-columnsフィールド型を指定する方法

以下は私のグリッドの定義です。

数値順でソートすることに興味がある列は「incident_count」です。私は型に数値を指定しようとしました:列に属性がありますが、機能しませんでした。ここで

<div id="PatrolRecords"> 
    <div data-filterable='{ "mode": "row" }' 
     data-role='grid' 
     data-sortable='true' 
     data-detail-template='patrolDetailTemplate' 
     data-detail-init='detailInit' 
     data-bind='source: reportData.Patrols, events: {excelExport: excelExportHandler}' 
     data-pageable='{ "pageSize": 10 }' 
     data-toolbar='["excel"]' 
     data-excel='{ "fileName": "Patrols.xlsx", "allPages": "true" }' 
     data-columns='[ 
       { 
        field: "patrol_id_plain", 
        title: "Patrol ID", 
        filterable: false, 
        width: 70 
       }, 
       { 
        field: "incident_count", 
        title: "Incidents", 
        filterable: false, 
        type: "number",  
        width: 70 
       }, 
       { 
        title: "GPS", 
        template: kendo.template($("#gpsTemplate").html()), 
        filterable: false, 
        width: 50 
       }, 
       { 
        title: "", 
        template: kendo.template($("#viewLinkTemplate").html()), 
        filterable: false, 
        width: 60 
       }, 
     ]'> 
    </div> 
</div> 

は私のviewmodel /データソースです:

viewModel = kendo.observable({ 
     reportData: 
      "Patrols": 
       [{ 
        "patrol_id": "yO0crrEjeNvlrkc3H8otng%3d%3d", 
        "patrol_id_plain": "7383748", 
        "tour_name": "Airport Towers", 
        "location_name": "Airport Towers", 
        "client_company": "Scottsdale Auto Center", 
        "address": "18881 Von Karman", 
        "city": "Irvine", 
        "abbreviation": "CA", 
        "end_date": "10/31/2016 11:56:47 AM", 
        "end_date_seconds": "531237407", 
        "first_name": "James", 
        "last_name": "Wierzba", 
        "patrolled_by": "James Wierzba", 
        "incident_only": "0" 
       }, 
        "patrol_id": "KhZmgPq2fbSP3Zly%2bw2I5Q%3d%3d", 
        "patrol_id_plain": "7383747", 
        "tour_name": "Airport Towers", 
        "location_name": "Airport Towers", 
        "client_company": "Scottsdale Auto Center", 
        "address": "18881 Von Karman", 
        "city": "Irvine", 
        "abbreviation": "CA", 
        "end_date": "10/10/2016 6:24:01 AM", 
        "end_date_seconds": "529403041", 
        "first_name": "James", 
        "last_name": "Wierzba", 
        "patrolled_by": "James Wierzba", 
        "incident_only": "0" 
       ], 
     excelExportHandler: function (e) { 
      var sheet = e.workbook.sheets[0]; 

      for (var i = 1; i < sheet.rows.length; i++) { 
       var row = sheet.rows[i]; 
       var data = e.data.reportData.Patrols[i - 1]; 

       if (data.incident_only == "1") row.cells[6].value = '-'; 
       else row.cells[6].value = data.completed_checkpoint_count + ' of ' + data.total_checkpoint_count; 


    } 
    } 
}); 

答えて

0

は、特にモデル文で、データソース内のデータ型を指定してください。

+0

スキーマはどこで指定できますか?スキーマのどこでデータ型を指定しますか? (私のデータソースはスキーマを持たず、データベースから自動的にjsonとして生成されます)。ビューモデル/データソースを表示するために私の答えを編集しました(データソースは 'viewModel.reportData.Patrols'です) –

関連する問題