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 Forms Discussion :

Problème avec DataBinding


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Steven62
    Invité(e)
    Par défaut Problème avec DataBinding
    Salut à tous.

    Je vais essayer de vous exposer mon problème le plus clairement possible. Je développe une application sous Visual Studio 2008 en VB .Net. Mon programme est lié à une base de données Access.

    J'ai remarqué que l'on pouvait générer automatiquement des écrans en utilisant le DataBlinding. Jusque là, j'ai aucun problème. J'arrive sans problème à faire des formulaires ou l'on peut faire défiler les enregistrements, en supprimer, en ajouter et les modifier. J'arrive également à afficher une seconde table sur cette même feuille. J'ai par exemple les informations d'un Auteur en haut et en dessous, dans une GridView, la liste des livres (que l'on peut également modifier, supprimer et ajouter).

    Mais ce que j'aimerais faire, c'est afficher dans un même formulaire (soit dans LE MEME GridView ou sous la forme de TextBox/checkbox/... UNIQUEMENT) les données de deux tables et que je puisse les modifier.

    Actuellement, si j'affiche les données de deux tables sous la même forme, je ne parviens à modifier les données que sur la première partie.

    J'ai essayé de modifier directement les requêtes dans Le Concepteur mais là encore, ça pose problème. Lorsque je fais glisser les éléments voulus dans le formulaire (des éléments qui concernent deux tables donc), les champs et la barre apparaissent mais la disquette d'enregistrement demeure inactive.

    Voilà, si quelqu'un a une idée, une explication, cela me serait d'une grande aide. En gros, je veux savoir si il est possible de générer automatiquement des formulaires dans lesquels on peut afficher les données de x tables sous la même forme (une seule et unique GridView par exemple) et que l'on puisse modifier directement les données. Merci d'avance

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Si tu veux faire ça, tu vas devoir le coder à la main. La génération automatique ne permet que de faire des modifications sur une table, pas sur des vues ou des jointures.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Steven62
    Invité(e)
    Par défaut
    C'est bien ce que je pensais. Je voulais en avoir la certitude avant de me lancer dans le codage

  4. #4
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Je confirme ce que SaumonAgil te dit.
    J'ajoute que pour faire tes requetes je te conseilles d'utiliser des commandes SQL dans ton code, car avec les objets VS tu dépend toujours de VS, ton exe sera a demi transportable


    Petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Cnx1 As String = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=MaDb.mdb"
     
    Cnx2 = New OleDbConnection(Cnx1)
            Cnx2.Open()
            StrSql = "SELECT mescolonnes FROM MaTable"
            da = New OleDbDataAdapter(StrSql, Cnx2)
            Ds = New DataSet
            da.Fill(Ds, "MaTable")
            DataGridView.DataSource = Ds.Tables("MaTable")
     
            Cnx2.Close()

    Voila si sa peut t'aider

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par thierry007 Voir le message
    J'ajoute que pour faire tes requetes je te conseilles d'utiliser des commandes SQL dans ton code, car avec les objets VS tu dépend toujours de VS, ton exe sera a demi transportable
    Tu mélanges tout là

    Il n'y a pas d'objet VS, tout ce que fait visual studio, c'est générer une partie du code à ta place. Tous les objets font déjà partie du framework. Rien à voir avec des notions de portabilité ou autre : c'est simplement que le code généré par visual studio ne permet pas de tout faire, il faut aussi coder certaines choses plus complexes.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    J'ai appris a mes dépend que d'utiliser les databinding ou requêtes générées par le wizard de vb conduise toujours a une dépendance fichier app.config
    Je me suis donc toujours écarter de cette façon.
    Disons que pour toi c'est peut être du mélange, ou plutôt la façon de m'exprimée n'est pas claire. c'est pour cela que j'avais mis un petit exemple

    A+

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/08/2009, 16h22
  2. Réponses: 1
    Dernier message: 01/05/2008, 11h31
  3. Réponses: 2
    Dernier message: 24/01/2008, 17h34
  4. Problème avec le databinding
    Par Promeneur dans le forum C#
    Réponses: 1
    Dernier message: 23/05/2007, 11h50
  5. [Vb.Net]NumericUpDown et DataBinding : problème avec la valeur min
    Par SamRay1024 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/04/2006, 16h34

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