J'essaie de faire une table avec un tableau de colonnes pour activer les colonnes à afficher, mais je veux être en mesure d'utiliser le lien, mais en utilisant comme ci-dessous ne met pas à jour en utilisant le obeservable setProperty. Ce que j'ai fini actuellement par faire était d'abord de générer un modèle basé sur la collection de colonnes et d'utiliser ce modèle pour générer la table.jsviews table dynamique colonne
Alors, j'aimerais savoir s'il existe un moyen de le faire dans un seul modèle?
<table id="test"><tbody></tbody></table>
<script>
var columns = [{field:"Id"}, {field:"Name"}];
var data = {rows:[{Id:1, Name:"a", Bla:"bla"},{Id:2, Name:"b", Bla:"bla"}]};
var tmpl = "{^{for rows}}<tr>{^{for ~columns}}<td>{^{:#parent.parent.data[field]}}</td>{{/for}}</tr>{{/for}}";
$.templates(tmpl).link("#test tbody", data, { columns: columns });
var d = $.view($("#test tbody tr")[0]).data;
$.observable(d).setProperty("Name", "c");
</script>
Il y a plusieurs façons de le faire. Mais avec la prochaine mise à jour de JsViews, vous pourrez utiliser DataMaps pour résoudre ce problème d'une manière particulièrement puissante/élégante. Je prévois de revenir ici avec des détails bientôt. – BorisMoore