Kendo UI colonne de la Grille headerTemplate fonction n'a pas accès à la définition de la colonne

Je suis en train d'utiliser le les colonnes.headerTemplate caractéristique d'un Kendo UI Grille de personnaliser l'en-tête de colonne. Vous utilisez cette fonction, comme indiqué ci-dessous et comme l'a démontré par cet exemple j'ai créé. Normalement lors de l'utilisation de Kendo UI modèles, le widget va passer une entité en fonction de modèle de sorte que vous pouvez utiliser les différentes propriétés pour personnaliser le code html afin d'être rendus.

De débogage, le Kendo UI code de réseau, je peux voir que dans le _headerCellText méthode de l'appel à la fonction de modèle passe dans un objet vide plutôt que de la colonne, même si la colonne de l'objet est dans le champ.

text = kendo.template(template, settings)({});

Est-il une autre approche que je peut prendre avant de recourir à la coutume en-tête de colonne modèles pour chaque colonne ou pire encore, jQuery manipulation du widget rendu DOM?

Est-il une bonne raison pour s'écartant de la commune de modèle de modèle dans le cadre de ce cas d'utilisation?

//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 }
    ]
});
  • Avez-vous vérifier cela avec Telerik de Soutien? Votre argument semble cohérent: un argument vide n'est pas très utile, mieux envoyer la colonne de l'objet.
  • Tout aussi déroutant, c'est que le code est: if (type === FUNCTION) { text = kendo.template(template, settings)({}); alors ils l'appellent kendo.template() uniquement si le modèle est une fonction, mais les docs pour kenod.template() état que seule une chaîne de caractères est un paramètre valide. docs.telerik.com/kendo-ui/api/framework/kendo#methods-template Si c'était dans l'open-source portion de Kendo, je voudrais connecter un problème et envoyé une demande d'extraction de fixer cette place, mais il semble comme quelque chose que vous devrait augmenter à effectif de Kendo de soutien.
  • C'est à partir de ma compréhension que le comportement que vous obtenez fonctionne comme prévu. Ils ne veulent pas vous laisser passer la colonne de l'objet. Pourquoi ont-ils choisi ce? Idk.
  • Je n'ai pas soulevé à l'appui, puisque le code source est assez concluant et que ce post était surtout pour ma future référence. Le Telerik Forums interface est très lente à utiliser en comparaison à StackOverflow donc, j'espérais qu'ils surveiller ici aussi 🙂
  • oui la Grille n'est pas une partie de Kendo UI de Base n'est donc pas open source. Aussi je pense que j'aurais besoin d'une meilleure compréhension de la base de code pour mettre en œuvre une bonne solution qui est cohérent avec le cadre. Si vous regardez plus loin dans le code, vous pouvez voir la mise en œuvre du modèle de pied de page est tout à fait différent à l'appui de l'affichage des informations de groupe.