Ich habe das folgende Kendo UI Grid-Setup mit einem berechneten Feld im Modell.Warum zeigt das modellberechnete Feld meines Kendo Grids den Code der Funktion an?
Wenn er ausgeführt wird, dieses Gitter richtig lädt, sondern zeigt den aktuellen Quellcode der cost
Funktion des Modells in jeder Zelle statt dem berechneten Wert erwartet:
Wenn ich auf einer einzelnen Zelle klicken, es zeigt tatsächlich den berechneten Wert:
Das Aggregat Fußzeilenzeile den gleichen Code immer zeigen, ich ge nicht in der Lage bin t es, um einen Wert zu drucken.
Ich habe ein laufendes Beispiel at Kendo's dojo gepostet.
<div id="item_65_lineItems" data-field-name="item[65][lineItems]"></div>
<script>
jQuery(function(){
var json = {
"columns": [{
"field": "line_no",
"title": "Line No.",
"width": "15%"
}, {
"field": "description",
"title": "Description",
"width": "60%"
}, {
"field": "qty",
"title": "Qty",
"width": "10%",
"footerTemplate": "Sum: #=sum#"
}, {
"field": "cost",
"title": "Cost",
"width": "15%",
"footerTemplate": "Sum: #=sum#"
}],
"dataSource": {
"data": [{
"line_no": 1,
"description": "Test line item",
"qty": 15
}, {
"line_no": 1.1,
"description": "test 1",
"qty": 12
}, {
"line_no": 2,
"description": "test 2",
"qty": 16
}, {
"line_no": 3,
"description": "test 3",
"qty": 15
}, {
"line_no": 4,
"description": "test 4",
"qty": 12
}, {
"qty": 12,
"line_no": 5,
"description": "test 5"
}],
"aggregate": [{
"field": "qty",
"aggregate": "sum"
}, {
"field": "cost",
"aggregate": "sum"
}]
},
"editable": {
"createAt": "bottom"
},
"pageable": false,
"toolbar": [{
"name": "create"
}]
};
json.dataSource.schema = {
model: {
cost: function() {
return this.qty * 100;
}
}
};
//json.dataSource = new kendo.data.DataSource(json.dataSource);
console.log(json);
jQuery("#item_65_lineItems").kendoGrid(json);
});
</script>