Ich habe einige Code hier, wo ich basierend auf dem Wert des Datenelements eine Hintergrundfarbe einer Zelle zu setzen versuche: http://dojo.telerik.com/@solidus-flux/eHaMuKann ich in einem Kendo-Raster Spaltenattribute dynamisch mit einer Funktion setzen?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.dataviz.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.dataviz.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.mobile.all.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1411/js/kendo.all.min.js"></script>
</head>
<body>
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [ {
field: "name",
title: "Name",
attributes: function(e) {
return {
"class": "table-cell",
style: e.name == "Jane Doe" ? "background-color: red" : "background-color: green"
};
}
//attributes: {
//"class": "table-cell",
//style: "text-align: right; font-size: 14px"
//}
} ],
dataSource: [ { name: "Jane Doe" }, { name: "John Doe" }]
});
</script>
</body>
</html>
Ich weiß, ich könnte dies tun mit einer Vorlage, aber das würde ein extra html-element benötigen, da du die markierung des td selbst nicht ändern kannst. Ich möchte eine Funktion verwenden, um Attribute zurückzugeben, wenn das unterstützt wird.
Wenn die Attributeigenschaft Funktionen nicht unterstützt, dann bringt mich das so nahe, wie ich es bekommen werde. – Chris
Jetzt, wo Sie es sagen, können Sie Funktionen in den Attributen verwenden, solange Sie die Template-Begrenzer nicht stören (und sie als String schreiben müssen) –