Ich versuche, die columns.headerTemplate Funktion von Kendo UI Grid zu verwenden, um die Spaltenüberschrift anzupassen. Sie verwenden diese Funktion wie unten gezeigt und wie von this example I created gezeigt. Normalerweise verwendet das Widget bei Verwendung von Kendo UI templates die Entity in die Template-Funktion, so dass Sie die verschiedenen Eigenschaften verwenden können, um das zu rendernde HTML anzupassen.Kendo UI Grid-Spalte headerTemplate-Funktion erhält keinen Zugriff auf die Spaltendefinition
Debuggen der Kendo UI Grid-Code Ich kann sehen, dass in der _headerCellText
Methode der Aufruf der Template-Funktion in ein leeres Objekt statt die Spalte übergeben, obwohl Spaltenobjekt im Geltungsbereich ist.
text = kendo.template(template, settings)({});
Gibt es einen anderen Ansatz, den ich vor dem Rückgriff auf benutzerdefinierte Spaltenkopf-Vorlagen für jede Spalte oder schlechter nehmen - jQuery Manipulation des DOM gemacht Widget?
Gibt es einen guten Grund, im Rahmen dieses Use Cases vom üblichen Template-Muster abzuweichen?
// Example kendoGrid use of column.headerTemplate
var templateFunction = function(shouldBeColumn) {
// shouldBeColumn is an empty object rather than the column object
return "Useless object:" + kendo.stringify(shouldBeColumn);
};
$("#grid").kendoGrid({
dataSource: {
data: products,
pageSize: 20
},
height: 550,
scrollable: true,
columns: [
{ field: "ProductName", title: "Product Name" },
{ field: "UnitPrice", title: "Unit Price", headerTemplate: plainTemplate },
{ field: "UnitsInStock", title: "Units In Stock", headerTemplate: templateFunction }
]
});
Haben Sie dies überprüfen, mit Telerik Unterstützung? Ihr Argument scheint konsistent zu sein: Ein leeres Argument ist nicht sehr nützlich, besser das Spaltenobjekt senden. – OnaBai
Ebenso verwirrend ist, dass der eigentliche Code ist: 'if (type === FUNCTION) {text = kendo.template (Vorlage, Einstellungen) ({});' so rufen sie 'kendo.template()' nur dann auf, wenn Template ist eine Funktion, aber die Dokumentation für 'kenod.template()' gibt an, dass nur ein String ein gültiger Parameter ist. http://docs.telerik.com/kendo-ui/api/framework/kendo#methods-template Wenn dies im Open-Source-Bereich von Kendo wäre würde ich ein Problem protokollieren und eine Pull-Anfrage senden, um das zu beheben, aber Es sieht so aus, als ob du etwas zur tatsächlichen Unterstützung von Kendo anhäufen solltest. – CodingWithSpike
Es ist von meinem Verständnis, dass das Verhalten, das Sie erhalten, wie beabsichtigt funktioniert. Sie möchten Ihnen das Spaltenobjekt nicht übergeben. Warum haben sie das gewählt? Idk. – Brett