2010-03-12 5 views
1

J'essaie d'afficher/charger un éditeur différent sur différentes lignes d'un éditeurgridpanel. Comme une zone de texte sur une ligne combobox/superboxselect sur un autre et il pourrait être n'importe quel ordre, aléatoire. Les conditions qui dictent quel éditeur sera affiché résident dans la base de données. Se il vous plaît dites-moi si cela est possible et si oui, comment je vais y aller .. J'ai essayé de tirer les conditions de manière asynchrone qui sont tirées sur un événement de clic pour la colonne respective, mais l'appeler async provoque des problèmes. S'il vous plaît aviserDifférents éditeurs pour une colonne dans EditorGridPanel ExtJS

Répondre

0

Tout est possible, mais ce que vous voulez faire serait un peu de travail. L'idée de base serait de configurer dynamiquement les éditeurs de grille nécessaires et de mettre à jour les colonnes avec les nouveaux éditeurs si nécessaire. Maintenant ... ce qui serait nécessaire pour que cela fonctionne réellement je ne pourrais pas le dire sans creuser dans la source Ext - cela nécessiterait presque certainement un comportement par défaut écrasant dans le modèle de grille et/ou de colonne.

Tirer vos conditions de manière asynchrone serait (j'imagine) trop lent pour l'interaction de cliquer sur une ligne pour éditer en ligne. S'il faut une seconde ou plus d'un clic aux éditeurs configurés, cela ne serait pas une performance acceptable. J'essaierais de trouver un moyen d'envoyer vos conditions avec les autres données de ligne si possible (elles peuvent être dans le modèle de données du magasin sur le client sans avoir à apparaître dans la grille). Sans en savoir plus sur les besoins de votre entreprise, il serait peut-être plus approprié d'abandonner la grille modifiable et d'utiliser plutôt un FormPanel à configuration dynamique lié à la grille. De cette façon, l'interaction de cliquer et de faire une pause légèrement pendant que le formulaire est configuré semblerait plus naturelle. En outre, la fonctionnalité de rendu d'un formulaire avec une configuration particulière est parfaitement standard et ne nécessiterait rien de sophistiqué de votre côté. Voir this example comme point de départ (votre formulaire serait dynamique, mais peut-être le même type d'interaction pourrait fonctionner?)

+0

Merci pour votre réponse, bmoeskau Avoir un panneau de forme avec une grille rendrait les choses compliquées pour l'utilisateur de un point de vue de l'interface utilisateur. J'ai limité l'appel asynchrone à l'extraction des données uniquement, maintenant les conditions pour déterminer le type d'éditeur à utiliser .. est fait de façon synchrone et fonctionne bien pour le moment. Sur une note, j'ai trouvé ce PropertyGrid http: //www.extjs.com/deploy/dev/examples/grid/property-grid.html qui affiche différents types d'éditeurs sur une colonne .. mais je voudrais le modifier pour afficher plus de colonnes. Je vais essayer de voir à quel point ce type est flexible quand je reçois une exigence similaire – Sloane