IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Générer une fiche detail d'une table sql en wpf


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut Générer une fiche detail d'une table sql en wpf
    Le bonjour à tous,

    J'ai comme problématique, comme l'indique le titre, de générer dynamiquement dans un UserControl, une fiche détail à partir des champs d'une table basée (sql serveur 2005) et bien sur de gérer l'ajout, la modification et la suppression (sans oublier que chaque champ ayant son type de données qu'on ne puisse par exemple pas mettre d'alphanumérique dans du numérique pur par exemple).

    Quelques récupération des noms des champs, type, nom de colonne, nullable ou non pas de problème par requête SQL...

    C'est la partie WPF qui m'ennuie, quelques aurait il une idée de la manière de faire la chose ?

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Pourquoi ne pas faire ton formulaire de façon statique et mettre le contenu de façon dynamique via DataBinding ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut
    Par ce que les tables n'ont pas toutes la même structure (bien qu'il y est une norme de base pk, fk...).

    Ca permet de façon dynamique d'avoir un seul User Control qui gère n'importe qu'elle table de la base en un clic (ou plutôt en ne passant que le nom de la table en paramètres).

    Gain de temps, gain de code. (surtout sur les tables de base du style parametrages)

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Dans ce cas là, tu va devoir t'amuser à gérer tous les cas et, en fonction, créer ton IHM à la volée....

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    J'ai aussi envisagé de faire quelquechose dans ce gout là. Je n'ai pas poussé la prétention aussi loin que toi, voulant juste une fenêtre générique pour l'édition de table très simple du genre "identifiant, libellé court, description plus longue".

    En gros, j'ai essayé de procéder comme ça :
    - un constructeur avec un Type pour paramètre. Cela permet de faire des appels MonDataContext.GetTable(MonType)
    - utiliser la metatable pour obtenir des informations comme le nom des colonnes de la table, etc. Par exemple MonDataContext.Mapping.GetTable(MonType).RowType.DataMembers
    - un stackpanel vide dans mon xaml, remplit à coup de MonStackPanel.Children.Insert(index,elementGraphique). Où elementGraphique est par exemple un WrapPanel que tu as crée et rempli en code.
    - dans ce WrapPanel, des éléments genre Label et TextBox.

    Personnellement, j'ai rencontré pas mal de difficulté qui m'ont fait préférer la solution "un élément type, copier/coller". Notamment :
    - difficulté pour binder en code. Faisable mais j'ai toujours du mal avec cet aspect de WPF.
    - j'aurai voulu une combobox listant les enregistrement actuels (permettant de sélectionner l'élément en cours d'édition, tout ça). Impossible d'identifier facilement le champ qui va être suffisament explicite pour l'afficher dans le combobox.
    - pour sauvegarder j'ai pris l'habitude de faire des UpdateSource explicites (sinon pas d'annulation possible). Il m'aurait en l'occurence fallu boucler sur tous les textbox de ma fenêtre pour le faire, et je savais pas trop comment récupérer la liste.


    Voilà. Si tu choisis de continuer dans cette voie, je serais heureux de jetter un oeil au produit fini, ne serait ce que par curiosité

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Dans ce cas là, tu va devoir t'amuser à gérer tous les cas et, en fonction, créer ton IHM à la volée....
    Amuser, c'est pas le terme que j'aurai employé de prime abord
    Grand merci aux intervenants pour ces pistes... Si je trouve qqchose j'essaierai d'en faire profiter tout le monde.

Discussions similaires

  1. [PHP 5.2] Une fonction récursive et deux tables SQL
    Par renaud26 dans le forum Langage
    Réponses: 8
    Dernier message: 16/04/2011, 12h55
  2. Réponses: 6
    Dernier message: 26/07/2009, 22h12
  3. [Lazarus] Créer des fiches à partir d'une fiche modèle
    Par Louis Griffont dans le forum Lazarus
    Réponses: 4
    Dernier message: 19/03/2009, 13h10
  4. inserer une image jpg sur une fiche en saisie
    Par zazou56 dans le forum IHM
    Réponses: 4
    Dernier message: 05/02/2007, 14h39
  5. Fermer une fiche contenue dans une dll
    Par pdgnr dans le forum Delphi
    Réponses: 2
    Dernier message: 14/10/2006, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo