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

VB.NET Discussion :

Remplissage DATAGRID avec une requete et pas la table


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2012
    Messages : 43
    Points : 45
    Points
    45
    Par défaut Remplissage DATAGRID avec une requete et pas la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim mareqette As String = "select numerotiket, date tiket from matable "
     
                Dim da As New SqlDataAdapter(marequete, ma conexion)
     
                ds.Clear()
                da.Fill(ds, "matable")
                DataGridView.DataSource = ds.Tables("matable")
    cela rempli ma datagrid avec tout les champs de table, moi je veux juste afficher les champs selectioné dans ma requete
    merci

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 274
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 274
    Points : 1 280
    Points
    1 280
    Par défaut
    dans les propriétés de ton datagridview, tu a une propriété "columns", ajoute celles que tu veux
    j'suis vert !

  3. #3
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Points : 2 645
    Points
    2 645
    Par défaut
    ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     DataGridView.DataSource = da
    ou je me trompes ?
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    @shadowmoon :
    Tu te trompes.

    @nabileon :
    L’exécution de ce code ne peut montrer d'autres colonnes que numerotiket et tiket vu que la requête rapatrie uniquement ces champs.
    Si vous voyez d'autres colonnes, c'est qu'il y a une autre liaison de donnée.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2012
    Messages : 43
    Points : 45
    Points
    45
    Par défaut
    J'tassure ca marche pa, ca affaiche tout lrs colonnes

    Citation Envoyé par Sankasssss Voir le message
    @shadowmoon :
    Tu te trompes.

    @nabileon :
    L’exécution de ce code ne peut montrer d'autres colonnes que numerotiket et tiket vu que la requête rapatrie uniquement ces champs.
    Si vous voyez d'autres colonnes, c'est qu'il y a une autre liaison de donnée.

  6. #6
    Membre éclairé
    Homme Profil pro
    Technicien bio médical
    Inscrit en
    Décembre 2012
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien bio médical
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 328
    Points : 768
    Points
    768
    Par défaut
    Bonsoir,

    Cette portion de code va chercher les données dans la base de donnée, elle récupère bien les bons champs, on en doute pas. J'en profite pour l'écrire correctement. (enfin presque..., me souviens plus s'il faut des crochets ou des parenthèses sur les champs composés)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim mareqette As String = "SELECT numerotiket, date_tiket FROM matable "
    Dim da As New SqlDataAdapter(marequete, ma_conexion)
    Pour moi, la partie ou ça coince c'est la suite.
    efface bien les données de toutes les tables du DataSet mais pas le schéma.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    da.Fill(ds, "matable")
    DataGridView.DataSource = ds.Tables("matable")
    Si votre DataTable "MaTable" dans ds est définie avec plusieurs champs (ex: ID, DateTicket, NumeroTicket, IDClient...) et que la propriété .AutoGenerateColumns est à True (valeur par défaut), toutes les colonnes de la DataTable seront créées.

    Solution :

    Créer une nouvelle DataTable dans ds avec que les champs concernés et la remplir avec vos données si vous avez des modification à y faire
    ou
    Utiliser un DataReader et l'affecter comme source de données au DataGridView si vous n'avez pas besoin de modifier les données
    ou
    Créer et définir manuellement les deux colonnes qu'il vous faut, modifier la propriété .DataPropertyName pour afficher le bon champ et désactiver l'AutoGenerateColumns du DatagridView.
    est ton amis, MSDN est ton maître, pour le reste il y a Developpez.net. Pensez au au et

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Créer une nouvelle DataTable dans ds avec que les champs concernés et la remplir avec vos données si vous avez des modification à y faire
    ou
    Utiliser un DataReader et l'affecter comme source de données au DataGridView si vous n'avez pas besoin de modifier les données
    ou
    Créer et définir manuellement les deux colonnes qu'il vous faut, modifier la propriété .DataPropertyName pour afficher le bon champ et désactiver l'AutoGenerateColumns du DatagridView.
    Je ne recommande pas la première solution, en effet si vous avez deux versions de la même table dans votre dataset pour modification (une complète et une simplifiée), vous risquez d'avoir rapidement des problèmes d'accès concurrentiel car les modifications sur une table ne seront pas apportées sur la deuxième!

    Si vous votre liaison de donnée est gérée uniquement depuis le designer (pas de changement de la datasource de la grille dans le code), il y a aussi une propriété visible pour les colonnes qui peut faire l'affaire.

    La 3ème solution qui consiste à désactivé l'autogeneratecolumn et à gérer les colonnes à la main (avec le DataPropertyName) est à mon avis la meilleur, pour ne pas dire un reflexe à prendre. En effet l'autogeneratecolumn va aussi foutre en l'air les autres propriété des colonnes tels que le type, les réglage de taille, etc. La génération automatique des colonnes n'est donc pas intéressante du moment que l'on désire fournir un effort sur la présentation de cette dernière...

  8. #8
    Membre éclairé
    Homme Profil pro
    Technicien bio médical
    Inscrit en
    Décembre 2012
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien bio médical
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 328
    Points : 768
    Points
    768
    Par défaut
    Bonjour,

    Sinople a raison au sujet de la première solution que je vous ai apporté, ça peut coincer avec les accès concurrentiels. Je n'y avais pas songé quand j'ai tapé le précédent message.

    Si vous votre liaison de donnée est gérée uniquement depuis le designer (pas de changement de la datasource de la grille dans le code), il y a aussi une propriété visible pour les colonnes qui peut faire l'affaire.
    Pas bête, mais à toucher aux propriétés des colonnes, autant utiliser la dernière solution.
    Certes, on perds un peu de temps à créer les colonnes mais au moins, on sait ce qu'il y a dedans et on peut faire une belle présentation
    est ton amis, MSDN est ton maître, pour le reste il y a Developpez.net. Pensez au au et

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2012
    Messages : 43
    Points : 45
    Points
    45
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  2. [AC-2003] Creation de table dynamique avec une requete action création de table
    Par Jeanpierre71 dans le forum IHM
    Réponses: 3
    Dernier message: 24/10/2011, 15h56
  3. PB de chargement de combobox avec une requete
    Par bubu1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 23/03/2005, 16h14
  4. [ORACLE][SQL] procedure sous delphi avec une requete SQL
    Par nivet dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2004, 13h43
  5. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28

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