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 :

DataGrid bien rempli par un DataTable mais aucunes données dans les cellules


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut DataGrid bien rempli par un DataTable mais aucunes données dans les cellules
    Bonjour à tous,

    Je suis en Visual Studio 2012 et je programme bien en VB.NET.

    J'utilise une base Access. Dans mon programme, j'utilise une requête pour remplir un DataTable avec les données d'une des tables de ma BD. Le DataTable est bien rempli. Ensuite je charge mon dataTable dans mon dataGrid. il m'affiche bien le nombre de ligne pour le nombre d'enregistrement dans ma table de ma BD mais aucune valeur n'est mise dans les cellules...

    voici mon code :



    - voici ma fonction pour faire ma requete -
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Public Function Horaire_select_dtbl(Optional ByVal nbEnr As Int32 = 0, Optional ByVal num_seekP As String = Nothing) As DataTable
                '------------------------------------------------------------------------
                'Selection d'un/des  enregistrements pour la table Horaire
                '------------------------------------------------------------------------
                Dim nbTOP As String = ""
                Dim requete As String = ""
                Dim ds As New System.Data.DataSet
                Dim dataAdapter As System.Data.IDataAdapter = Nothing
     
                'Test des seek et initalisation si = nothing
     
                If num_seekP = Nothing Then num_seekP = seek
     
                MoDB.openConnection()                     'Connection à la DB
                retour_err = 0                  'Initialisation de la gestion d'erreur
                If nbEnr = 0 Then
                    nbTOP = ""
                Else
                    nbTOP = "TOP " & nbEnr
                End If
     
                Try
                    Select Case nokey
     
                        Case 1
                            requete = "SELECT " & nbTOP & " * FROM   Horaire WHERE num  " & num_seekP & num & " ORDER BY num ASC"
                    End Select
     
                    dataAdapter = New System.Data.OleDb.OleDbDataAdapter(requete, MoDB._ObjetConnection)
     
                    dataAdapter.Fill(ds)
                    Return ds.Tables(0)
                Catch err_select As Exception '
                    'MessageBox.Show(err_select.Message, "ERREUR DE SELECTION DANS Horaire", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    retour_err = 1          'Erreur physique
                    Return Nothing
                End Try
                '===================================================================
            End Function
    et j'utilise horaire_mdb._dtbl_Horaire = un dataTable et je la remplis par la fonction contenant ma requete
    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
    18
    19
    20
     
    Public Sub alimenter_dgvRecapHoraire()
     
            With horaire_mdb
                ._num = FrmPrincipal.zlabNumUser.Text
                ._seek = "="
                ._nokey = 1
                ._dtbl_Horaire = .Horaire_select_dtbl()
            End With
     
     
            With FrmPrincipal
                .BindingSource1.DataSource = horaire_mdb._dtbl_Horaire
                .BindingNavigator1.BindingSource = .BindingSource1
                .dgvRecapHoraire.DataSource = .BindingSource1
            End With
     
     
     
        End Sub
    Si quelqu'un sait m'aider, ça me ferait très plaisir!

    Merci d'avance.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bonjour,

    Là comme ça, le code semble bon.

    Petites questions :

    - Est ce que tu as essayé un bête refresh sur la form ou le datagridview ?
    - Peut être de faire les liens databind en premier, puis charger la datatable.
    - tu as bien vérifié que ta datatable contient des lignes ?
    - Est ce que les noms des colonnes s'affichent dans ton datagridview?
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Alors, je vais essayer de faire un refresh, j'avoue ne pas y avoir pensé. On ne sait jamais.

    Pour ce qui est de ma dataTable, elle contient bien les données et quand je la charge dans le dataGrid il ajoute des lignes vides du nombres des enregistrements de ma dataTable.

    Pour les noms des colonnes, ici je les avais ajouté manuellement avec l'option du datagrid car quand je ne les ajoute pas, il me dit qu'il est impossible d'ajouter des données dans le dataGrid dépourvu de colonnes.

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Ah ahhh
    C'est donc pour cela.

    Normalement, quand tu databind ton DGV, il va venir créer tout seul les bonnes colonnes, il n'y a rien a faire.
    Ne serait il pas possible que les colonnes ajoutées automatiquement (donc les données) aient la propriété Visible a False...
    Du coup tu as bien toutes tes lignes, mais les bonnes colonnes ne sont pas affichées...

    Donc ce que je te suggère, c'est de repartir là ou le problème a commencé.
    Supprimer tes colonnes de ton dgv, voir supprimer et ré créer ton dgv.

    fait un Try/Catch quand tu lies le databind et le dgv, pour voir quelle erreur exacte il te donne, car ça ne devrait pas poser de problème.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Effectivement, ça va beaucoup mieux.

    J'ai supprimé mon ancien datagrid et j'en ai recréé un. Un petit bug...

    Comme quoi on peut chercher des heures pour un petit truc! Un grand merci pour l'aide en tout cas!

    Bonne journée

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 26/11/2019, 10h36
  2. [2008R2] [Datamining] Aucune donnée dans les arbres de décision
    Par mgesche dans le forum SSAS
    Réponses: 1
    Dernier message: 12/12/2012, 15h00
  3. DataTable Format des valeurs dans les cellules
    Par Neodream dans le forum C#
    Réponses: 3
    Dernier message: 04/03/2010, 11h01
  4. [Dojo] Datagrid : valeur d'un Button et d'une CheckBox dans une cellule
    Par hapalemur dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 24/06/2009, 14h47
  5. Aucune donnée dans un DBGrid
    Par xeak2008 dans le forum Débuter
    Réponses: 3
    Dernier message: 28/10/2008, 09h56

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