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 :

Vider un datagridview


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Points : 212
    Points
    212
    Par défaut Vider un datagridview
    Bonjour,
    Comment je peut vider tous les lignes d'un datagridview qu'a le nom 'Dg' que j'ai lui remplie a partir d'une base de donné. Bien sur je veux une solution en utilisant le code.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    remplie a partir d'une base de donnée
    Comment ?
    - "à la main",
    - une table de la base de donnée étant le DataSource du DataGridView,
    - via une DataTable liée au DataGridView par un bindingSource,
    - ...
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Points : 259
    Points
    259
    Par défaut
    ça dépens comment tu as remplit ton datagridview

    Divers solution, choisi celle qui correspond à ton conctext

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonDataGridview.DataSource=Nothing
    ou
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonBindingNavigator.BindingSource.Clear
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonDataGridview.Rows.clear
    etc...

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Points : 212
    Points
    212
    Par défaut
    Merci pour les propositions mais je veux effacer seulement les contenus des lignes mais la table je veux quelle reste afficher.
    j'ai la solution ci dessous mais elle contient une boucle.je veux un solution pareille mais sans boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     For i = 0 To 1000
                        Dg.Rows(i).Cells(1).Value = ""
                        Dg.Rows(i).Cells(3).Value = ""
                        Dg.Rows(i).Cells(0).Value = ""
                        Dg.Rows(i).Cells(2).Value = ""
                    Next

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    je veux effacer seulement les contenus des lignes, mais la table je veux quelle reste affichée.
    explique davantage le contexte :
    Sinon, il suffirait par exemple d'affecter à la ForeColor de la DataGridView la BackGroundColor ...
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre régulier Avatar de Anklor
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 76
    Points : 120
    Points
    120
    Par défaut
    Pourquoi garder 1000 lignes vierges ??

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Points : 212
    Points
    212
    Par défaut
    Bonjour,
    Non j'ai ne va garder le datagridview vide mais parfois j'ai besoin de vider le datagridview qui peut contenir 1000 ligne et le remplir après.
    donc j ai besoin d'une solution.

  8. #8
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Tu n'as pas répondu à la question de mon premier post !
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Points : 212
    Points
    212
    Par défaut
    Bonjour,
    je suis désolé de ne pas vous répondre je suis débutant en VB.net je ne peut pas vous réponde mais j'ai lui remplie en utilisant le code ci dessous.
    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
     
       '*************************************importer de la base**************************************************
                    Dim dst As New DataSet
                    ' table=inserer la table que vous vouller
                    Dim adpt As New SqlDataAdapter("select * from FACTURELIGNE where LREF=" & Me.txtCustomComplete.Text & "  ", con)
                    adpt.Fill(dst, "table")
                    ''table(1)=table("nom table") 
                    '' item(0)=item(indice ou ce trouve la colone) 
                    Dim k As Integer
                    Dim i As Integer = 0
                    For k = 0 To dst.Tables("table").Rows.Count - 1
                        Dg.Rows(i).Cells(1).Value = dst.Tables("table").Rows(k).Item(16) & vbCrLf
                        Dg.Rows(i).Cells(3).Value = dst.Tables("table").Rows(k).Item(13) & vbCrLf
                        Dg.Rows(i).Cells(0).Value = dst.Tables("table").Rows(k).Item(8) & vbCrLf
                        Dg.Rows(i).Cells(2).Value = dst.Tables("table").Rows(k).Item(12) & vbCrLf
                        i = i + 1
                    Next

  10. #10
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Il serait préférable de lier la DataGridView à la DataTable via un BindibngSource.On voit alors toutes les colonnes de la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    myBindingSource = new BindingSource();
    myBindingSource.DataSource = dst ;
    myBindingSource.DataMember = dst.Tables[0].TableName;
    Dg.DataSource = myBindingSource;
    Pour montrer quelques colonnes en particulier, on jouera sur la propriété "Visible" des columns du DataGridView.

    Pour montrer quelques lignes répondant à un critère, on utilisera la propriété "Filter" du BindingSource.

    En particulier, pour montrer 0 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyBindingSource.Filter="1=0" ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  11. #11
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Points : 212
    Points
    212
    Par défaut
    Bonjour,
    merci pour l'aide mais J'ai pas compris "mybindingsource" quelle est cette variable,je suis un débutant.

  12. #12
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    J'ai pas compris "mybindingsource" quelle est cette variable
    C'est une variable à définir au niveau de ta form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    en C# : BindingSource myBindingSource ;
    en VB (mais je suis pas sûr) : Dim myBindingSource As BindingSource
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  13. #13
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Points : 259
    Points
    259
    Par défaut
    C'est un objet qui te permet de lier ta source (datatable) avec ton datagridview.
    Mais pour toi en tant que débutant je pense que l'on peut faire plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dg.DataSource =  = dst.Tables[0]
    Ensuite va dans ton formulaire clique sur ton datagridview en haut à droite tu auras une petit flèche, clique dessus et clique sur Modifier colonne.

    A partir de la fenêtre qui va s'ouvrir tu peux ajouter/modifier/supprimer des colonnes.
    Pour que ta colonne soit rattaché à ta source il te suffit juste de mettre dans le champ datamember le nom du champ de ta table SQL.

    tout ça tu peux le faire par le code mais pour un débutant plus simple par là et plus graphique.

Discussions similaires

  1. Vider un DataGridView en entier
    Par mehdiyou dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/04/2008, 21h19
  2. [VB] Vider un DATAGRIDVIEW
    Par stephane77fr dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/04/2008, 14h19
  3. Vider un datagridView
    Par kiwi645 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 24/01/2008, 08h06
  4. [c#] Vider un datagridview
    Par Destiny dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/08/2007, 10h15
  5. [vb 2005]Vider un datagridview
    Par estelledany dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/06/2006, 13h10

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