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