2009-11-06 2 views
0

Je développe une application dans laquelle je voudrais laisser les utilisateurs concevoir des formes et décider des champs qui sont dans le formulaire. Un exemple est mieux qu'une mauvaise explication, alors laissez-moi mettre l'exemple de Microsoft CRM dans lequel vous en tant qu'utilisateur final pouvez définir un formulaire, les champs dans ce formulaire, ou personnaliser des formulaires existants en ajoutant ou en supprimant des champs.Laisser l'utilisateur concevoir un formulaire et les champs qu'il contient

Existe-t-il un moyen standard de le faire ?, Quelqu'un connaît les composants à utiliser? Ou travaillé dans une fonctionnalité similaire?

Tout put serait apprécié.

Répondre

3

Ce n'est pas une entreprise triviale et il existe des milliers de façons d'y parvenir. Cela dépend de nombreux facteurs - par ex. vos utilisateurs pourront-ils «publier» leurs formulaires créés, les utilisateurs pourront-ils mettre à jour leurs formulaires (apporter des problèmes de gestion des formulaires et des données), fournir un concepteur visuel, fournir un langage de conception déclaratif, comment voulez stocker les données remplies dans un formulaire, sont les champs choisis par l'utilisateur tiré d'un ensemble fini de champs disponibles ou peut l'utilisateur inventer de nouveaux champs, etc

Dans un package de formulaires électroniques à part entière, vous sont, essentiellement, la création d'un IDE visuel pour la création de formulaire avec un "compilateur" qui produit l'implémentation remplissable et à l'exécution des formulaires de l'utilisateur. Pour rendre le système utile, vous devrez également inclure des fonctions de gestion (recherche, classement, importation, exportation, etc.).

Si vous ne voulez pas résoudre ces problèmes vous-même, il existe de nombreux packages eforms. Le coût varie de gratuit à des dizaines de milliers de dollars.

-1

Dans mon projet actuel, nous laissons les utilisateurs personnaliser les champs qu'ils veulent voir dans les formulaires de recherche et la grille de résultats en stockant les configurations par utilisateur. Exemple, l'utilisateur A veut voir P, Q, R sur le formulaire X, Chaque contrôle a un ID et les valeurs de configuration sont stockées par l'Id. Peut ne pas être très élégant, mais fonctionne pour une personnalisation mineure.

+0

Ce que je cherchais, c'est de laisser l'utilisateur ajouter de nouveaux champs, pas seulement de choisir parmi une liste prédéfinie. – Doliveras

0

Je vous suggère de créer un générateur de mise en forme, qui prend en entrée les colonnes à afficher et le type de contrôle pour les éditer. Il devrait ensuite organiser les colonnes d'une manière ordinaire (en utilisant des flowpanels ou quelque chose de similaire). Créer dynamiquement des colonnes dans la base de données est facile à faire. Ensuite, l'utilisateur peut spécifier les colonnes qu'il souhaite modifier dans une grille ou quelque chose comme ça, le moteur de mise en page crée ensuite le formulaire à partir des colonnes spécifiées par l'utilisateur. Bien sûr, cela limite les possibilités par rapport à un concepteur de gui complètement gratuit, comme le studio visuel lui-même, mais il rendra également les formes ressemblantes et bien alignées. Donc, dans l'ensemble, un bon compromis, et beaucoup plus simple à mettre en œuvre qu'un concepteur de GUI complet.

1

Ceci est un problème très complexe, je vais d'abord le simplifier à un cas d'utilisation plus simple, puis donner une approche de conception possible.

utilisation:

  • utilisateur veut concevoir un formulaire à l'aide d'un IUG. Plusieurs champs (tels que nom, adresse e-mail, age) sont possibles ainsi que les entrées
  • options (champ de texte, sélecteur, boutons radio ) La sortie est une forme XML ou une construction d'objet pour votre application .
  • utilisateur sélectionne un formulaire enregistré XML pour générer de nouveaux objets de forme ou utilise IUG pour sélectionner de nouveaux éléments de formulaire pour ajouter à partir, fournissant le type de nom de forme et sur le terrain et si un sélecteur de la liste des entrées valides

CONCEPTION:

  • Fournir un ensemble standard d'objets d'entrée (champ de texte, liste de sélecteur, etc.) en tant qu'objets.
  • Fournir une base De l'objet qui est un conteneur pour les objets d'entrée, avec une carte d'étiquettes d'entrée pour entrer des objets.
  • fournit séparément de l'affichage objet qui gère la présentation d'un objet sous forme (comme dans la partie Vue de MVC)

Je pense que la meilleure façon de commencer à ce serait de construire un logiciel de pièce qui parse une formulaire html standard et crée et objet dans votre application. Ceci est ensuite affiché par votre interface graphique. Une fois que vous pouvez analyser les formulaires html, vous savez que vous avez les champs nécessaires et la possibilité de les afficher, maintenant vous avez juste besoin de créer un gui pour permettre à l'utilisateur d'ajouter des éléments à un objet de formulaire. Tout cela étant dit, ce n'est pas une tâche simple. Il y a beaucoup d'ins, beaucoup d'outs, beaucoup de what-have-yous dans ce genre de fonctionnalité.

-1

Comme tout le monde l'a dit, c'est très difficile alors regardons aux normes. La norme pour la composition de formulaires est HTML. Donc, vous:

Permet aux utilisateurs de créer des formulaires/champs en utilisant html ou tout concepteur HTML.

Intégrez IE dans votre application pour rendre le code HTML.

Spin une sorte de petit serveur web sur leur machine qui accepte les demandes de ce formulaire et ce formulaire uniquement (je pense que certaines des choses dans ASP MVC serait d'aide ici)

Quand ils soumettent la forme parse la Demander un message pour voir les champs et les valeurs.

Questions connexes