dojox.grid.DataGrid sur mesure cellulaire?
-
09-10-2019 - |
Question
qui sait un moyen de créer une cellule de forums personnalisés dojox.grid.DataGrid
? Bien sûr, je pourrais utiliser l'obtenir et formatter propriétés de la mise en page, mais ce n'est pas une solution vraiment réutilisable!
Merci pour vos commentaires!
heinrich
La solution
Vous pouvez essayer une façon indirecte d'ajouter un widget à une cellule dojo de grille
1) Set escapeHTMLInData
à false
pour le dojox.grid.DataGrid
2) Ensuite, dans la fonction essayer quelque chose comme get / formatter
function formatterFn() {
var buttonToReturn = dijit.form.Button({
/* Button attributes */
}
var div = document.createElement("div");
div.appendChild(buttonToReturn.domNode);
return div.innerHTML;
// You can leave the div orphan
}
Vous pouvez retourner conditionnellement widgets différents pour répondre à vos besoins
it helps!
Autres conseils
Que voulez-vous dire par cellule personnalisée?
Voulez-vous utiliser case à cocher ou zone de texte au lieu du texte? ou
Voulez-vous montrer des images au lieu de texte?
Dans le premier cas
- donner 'modifiable' = "true"
- set 'singleClickEdit' = "true" et
- ensemble variable type de cellule. Vous pouvez étendre la classe d'éditeur par défaut et faire votre propre classe éditeur.
Dans le second cas, vous pouvez utiliser la fonction formatter.
Il est préférable d'utiliser les fonctions et classes existantes. L'extension fera la grille plus lente.