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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top