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 :

Vue et DataSet [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut Vue et DataSet
    Bonjour,

    Je fais actuellement un formulaire affichant dans un DataGridView des données provenant de plusieurs tables.
    Après quelques galère, quelques recherches, j'ai trouvé que l'on pouvait y parvenir en basant le DataSet sur une Vue.

    De ce fait, j'ai réussi à remplir mon DataGridView.


    Le problème , c'est que je ne parviens plus à atteindre les colonnes, du DataGridView, plus précisément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            'Paramètres de connection, éléments de gestion des données
            Dim oConnection As New OleDbConnection(My.Settings.ChaineCnx)
            Dim strRequete As String = "SELECT lib_classement, nom_produit, num_ordre " & _
                                       "FROM Liste_Individuelle_Classement_Produit " & _
                                       "WHERE id_classement = " & iIdClass & " "
            Dim oCmdSQL As New OleDbCommand(strRequete, oConnection)
            Dim oDataAdapter As New OleDbDataAdapter(oCmdSQL)
            Dim oDataSet As New DataSet
     
            'Remplissage du DataSet et du DataGridView
            oDataAdapter.Fill(oDataSet, "Liste_Individuelle_Classement_Produit")
            Me.DGV_LISTEIND.DataSource = oDataSet.Tables("Liste_Individuelle_Classement_Produit")
     
    'Au dessus, le code fonctionne, il remplit le DGV comme prévu
    'En dessous, le code me lève une exception de type NullReference
     
    Me.DGV_LISTEIND.Columns("lib_classement").Width = 200
    Je ne pense pas avoir de problèmes de vision au point de ne pas voir que j'ai bien écrit deux fois le même nom de colonne :p
    J'ai tenté sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DGV_LISTEIND.Columns("Liste_Individuelle_Classement_Produit.lib_classement").Width = 200
    J'ai tenté également via des Alias, aucun résultat.
    Et même en mettant directement 0, 1 ou 2 en tant qu'index, toujours la même NullRéferenceException. En gros, il ne me trouve aucunne colonne

    J'ai un autre DGV qui ne passe pas par une vue, pour lequel ce code fonctionne correctement.

    Quelqu'un saurait m'orienter sur ce problème? Je pense que c'est un détail, mais je ne parvient pas à le voir

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    essai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DGV_LISTEIND.Refresh
    peut-être que...

  3. #3
    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 : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    as-tu vérifier la propriété AutoGenerateColumns ?

    Sinon tu peux ajouter manuellement les colonnes que tu souhaites afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DGV_LISTEIND.Columns.add(maColonne)
    P.S. : Il faut créer toutes les colonnes de type DataGridView...Column

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut
    Salut, merci pour vos réponse,

    En ce qui concerne le refresh, cela n'a aucun effet.
    Pour le Add, il n'est pas nécessaire, j'ai déjà les colonnes de créés, elles sont la, mais je ne parviens pas à les atteindre

    La propriété AutoGenerateColumn mise à false à l'air de me permettre d'atteindre mes colonnes, plus d'exceptions. Mais je ne saisie pas bien, tant que cette propriété est à true je ne pouvais pas retoucher mes colonnes?
    Pourtant, sur mon 1er DataGridView, cela fonctionne bien alors que je n'ai jamais touché cette propriété, quelqu'un pourrait m'expliquer ce qui diffère?

    Enfin, j'ai pas saisis ce que tu voulais dire dans ton PS :s

  5. #5
    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 : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    En fait le P.S. voulait justement dire que les colonnes que dataGridView ne sont pas les mêmes que celle de ton datatable.
    C'est pour cela que je te conseillais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DGV_LISTEIND.Columns.add(maColonne)
    Car les colonnes que tu me dis être déjà présente sont celle de ton dataTable. En liant la table au DataGridView il génère automatiquement les colonnes du DataGridView pour correspondre à celle de ton DataTable lié.
    Mais tu peux redéfinir chacune des colonnes du DataGridViw en les définissant toi même.
    Par cette méthode, tu peux masquer certaine colonne qui sont présente dans ton DataTable ainsi que mettre un titre plus parlant que le nom de la colonne par défaut.

    Je te conseil donc d'essayer de créer les colonnes du DataGridView toi même, je pense que ca résoudra ton erreur et que ca te permettre de redimensionner tes colonnes...

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut
    Pour la correspondance entre la datatable et le datagridview c'est normal, et ce n'est pas un problème, je renommes les colonnes via des alias dans la requête SQL :p

    Et pour le redimensionnement, ta propriété AutoGenerateColumn marche, bien que je ne sache pas pourquoi :p Enfin bon, ça marche

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

Discussions similaires

  1. [WinCCV7.0 SP2 UPD3] Dataset pour optimiser les vues.
    Par Kirisame dans le forum Automation
    Réponses: 0
    Dernier message: 16/01/2014, 12h07
  2. [SqlSrv2005/C#] Appeler une vue dans un Dataset
    Par Ykaar dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/09/2007, 13h30
  3. [VB.NET]Vue ou table dans mon dataset ?
    Par Golzinne dans le forum Windows Forms
    Réponses: 20
    Dernier message: 23/03/2006, 18h56
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

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