2012-10-30 2 views
1

Je suis très inexpérimenté avec SmartGWT et ont la question suivante:treenode personnalisé SmartGWT

j'ai réussi à faire une bibliothèque de différents types de documents dans un arbre.

Pour certains documents je veux montrer trois icônes, qui représentent des liens vers d'autres sites Web, plus loin je veux montrer une description sous eux.

J'ai essayé d'écrire mon propre CustomTreeNode, aussi j'ai regardé setCellFormatter() et essayé de l'écraser sans aucune chance.

Pouvez-vous me donner quelques conseils et astuces pour réaliser la fonctionnalité désirée et ce que je dois garder à l'esprit?

Ou y a-t-il de bons tutoriels ou livres sur smartGWT en plus des apidocs et du forum smartclient?

Toute aide grandement appréciée !!

C'est ce que l'arbre devrait ressembler un peu comme:

[+] node1
[+] node2
[-] node3
    - documentEntry
[+] node4
[- ] node5
    - documentEntry sur mesure
          IMG IMG IMG
          texte de description

[+] Node6

EDIT: Merci à mon commentaire accompli pour coder un arbre avec 3 différents types de documents que leafs (. pdf, .txt et lien vers une adresse web). Ils ont tous un nom et des icônes différentes et ont tous un comportement différent, lorsqu'on clique dessus. Mais j'ai encore le problème, que je dois encore mettre en œuvre une autre feuille spéciale, qui se compose de 3 icônes, représentant 3 liens Web et sous un texte de description. Les icônes doivent être cliquables et conduire à trois adresses Web différentes.

2.Modifier Avec essais et erreurs, je pense que je suis allé un peu plus loin. J'ai créé une classe CustumTreeGrid qui écrase la méthode createRecordComponent de Treegrid et dessine un formulaire dynamique sur la feuille d'arbre. Maintenant, je suis remplir ce formulaire avec du texte 3 icônes et des liens. Est-ce le bon/bon moyen de résoudre mon problème, ou existe-t-il un meilleur moyen d'obtenir la fonctionnalité désirée? J'espère que quelqu'un peut me aider

+0

Vous pouvez jeter un oeil à http://stackoverflow.com/questions/12365887/how-can-i-configure-smartgwt-treegrid-to-use-different-types-of-objects/12368106#12368106 pour commencer –

+0

merci, je vais le regarder dans quelques heures. j'espère que cela m'apportera un pas de plus – BokaJakoB

Répondre

0

Peut-être qu'il ya d'autres façons, mais c'est ce que je faisais:

J'ai fait ma propre classe MyTreeGrid, qui étend TreeGrid.

Je mis setShowRecordComponents(true), setShowRecordComponentsByCell(true);

et je la méthode: createRecordComponent(ListGridRecord record, Integer col) et l'emportaient sur elle, pour dessiner une toile pour une feuille.La toile contient 3 boutons et trois images et un texte de description.