2009-05-04 9 views
1

J'ai la page suivante à l'aide Dojo 1.3.1 javascript trousse à outilsDojo (x) Widgets dans le tableau HTML ne pas redimensionner

Content Pane 
    HTML table two columns, N rows 
    Column 1 (left): text 
    Column 2 (right) Dojo widget (can be any, but mostly Grids, pullodwn, etc) 

Problème:
Lors du chargement de la page, il rend Ok (le type de widget et le nombre par page sont déterminés lors de l'exécution, donc je ne peux pas gérer cela avec CSS statique)

Quand j'ajouter des lignes à la grille, alors qu'il est intégré dans la table cellule

<td> grid </td> 

la ligne donnée (où la grille est incorporée) obtient proportionnellement plus grande et tout ce qui est en dessous de la grille disparaît et il n'y a pas de barre de défilement dans le volet de contenu pour accéder aux lignes ci-dessous.

Je ne sais pas comment le résoudre, j'ai réglé 100% ou la hauteur et la largeur automatique sur tout autour de la page. Cela n'aide pas.

Je me demande si mon approche de conception est mauvaise et insoluble. J'ai lu sur les gens disant de ne pas utiliser les tableaux pour la mise en page, mais Je ne sais pas au moment du design l'ordre et le type de contrôles que je vais afficher . Comment cela peut-il être fait autrement?

Je pense que le problème est que quand une grille est dans une cellule de tableau, et la grille se développe, la cellule se développe, mais le volet contenu de maintien ne sait pas si les frontières ne reçoivent pas redessinée.

Répondre

0

Vous pouvez utiliser CSS pour la mise en page - qu'est-ce que les tableaux peuvent faire et CSS non? Ou, vous pourriez essayer d'utiliser une autre grille de dojo au lieu de cette table HTML, selon ce que vous recherchez.

+0

Je ne pense pas que je peux utiliser une grille au lieu de dojo tableau HTML. J'utilise la table strictement à la mise en page "texte" -> Widget dojo "text" -> widget dojo ... et ainsi de suite Je sais que le texte, le type de widget, et ordre de widget seulement à l'exécution (pas de temps de conception). Je ne pouvais pas comprendre comment utiliser CSS pour positionner les contrôles inconnus l'un après l'autre. Je ne pense pas non plus qu'il existe un autre widget Dojo qui puisse remplacer la table HTML. J'ai pensé à utiliser Dojox.layout.TableGrid mais tous les exemples que je vois avec lui n'ont pas de lignes juste des colonnes –

0

Les widgets de Dijit fonctionnent comme des nœuds normaux autant que possible. Mais de nombreux widgets, en particulier ceux qui permettent à l'utilisateur de définir la taille des objets (comme vous pouvez le faire avec des largeurs de colonnes dans la grille), doivent connaître des dimensions spécifiques.

Les bonnes nouvelles sont que la plupart de ces widgets, vous pouvez obtenir une instance du widget, et appelez widget.resize();

Questions connexes