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 :

Afficher ligne Datagridview depuis ComboBox


Sujet :

VB.NET

  1. #41
    Nouveau membre du Club Avatar de paradize99
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    c'est genial ca marche et c'est plus court
    quand tu parles de reorganiser mon code tu veux dire pour qu'il soit plus simple a lire?

  2. #42
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Quelques liens DropBox :
    Le dossier de développement :
    https://www.dropbox.com/s/lsa440iu5c...ockFR.zip?dl=0
    Une petite video montrant le fonctionnement :
    https://www.dropbox.com/s/2y1q6s4q72...ockFR.mp4?dl=0

    Je te suggère de prendre la peine de lire d’abord tous les commentaires du programme, ils sont parfois plus instructifs que le programme lui-même.

    Au départ, ce petit programme didactique a été réalisé pour un forum espagnol, ce n’est que plus récemment que je l’ai francisé (trad. des noms de variables et de procédure, et des commentaires)
    La DB jointe n’a pas été traduite, mais un lexique est écrit dans les commentaires en début de programme.

    Attention, ce programme n’est pas garanti free-bug mais l’organisation et les méthodes proposées sont correctes.

    L’avantage de l’organisation proposée est bien sûr la lisibilité mais aussi la facilité (3 à 5 minutes de Recherche-Remplace, <CTRL<>H>) de passer d’un SGBD à autre. Dans son état actuel, le programme « attaque » une DB Access 2007, mais MySql, SqlExpress et Access 2003 « sont déjà en place ».

    La lisibilité, c’est aussi la facilité de maintenance.

    Les procédures clés sont :
    OuvrirDB ‘ contient out ce que tu avais hier dans QuoteCosting_Load, mais en quelques lignes seulement, des tâches étant
    confiées à d’autres procédures …
    Définition des chaines de connexions,
    ChargerDonnees() ‘ contient tous les « Select »
    MontrerDonnees() ‘ contient toutes les liaisons
    FermerDB

    Et puis toutes les autres :
    OuvrirConnexion
    CreerCommande
    CreerUneTable
    CreerIdentifiant ‘ gestion manuelle des Id (je veux garder la main )))
    Traitements_Click ‘ répond aux boutons BAjouter, BModifier et BSupprimer
    EnregistrerSuppression ‘ accès effectif en mode connecté à la DB
    EnregistrerModification ‘ id.
    EnregistrerAjout ‘ id.
    LectureCirculaire_Click ‘ répond aux boutons BDernier, BPrecedent, BSuivant et BPremier

    et quelques gestions annexes,
    telles les sélections dans le DataGridView sur base de Combo (ajoutées depuis hier ..?.. ) :
    RechercheSelonCombo_SelectedIndexChanged ‘ répond aux changements de 2 Combo

    et d’autres petits réglages …

    Pour quelques cas un peu nébuleux, je peux fournir des explications si besoin …

    Bonne séance cinéma, bonne lecture, bon amusement,

  3. #43
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Re,

    Je viens de comprendre (seulement ... mais peut-être...) pourquoi tu ne disposes pas des noms de colonnes dans le DataGridView :
    Veux-tu bien faire l'essai de compléter les "Fill" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            cn1.FillSchema(UneTable1, SchemaType.Source) ' Récupère les noms des tables et des champs. Certains SGBD ne permettent pas FillSchema, ealors il faut isoler cette ligne
            cn1.Fill(UneTable1)
     
            cn2.FillSchema(UneTable2, SchemaType.Source)
            cn2.Fill(UneTable2)
     
            cn3.FillSchema(UneTable3, SchemaType.Source)
            cn3.Fill(UneTable3)
     
            cn4.FillSchema(UneTable4, SchemaType.Source)
            cn4.Fill(UneTable4)
     
            cn5.FillSchema(UneTable5, SchemaType.Source)
            cn5.Fill(UneTable5)
    Après cela, tu devais pouvoir utiliser la procédure suivante :
    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
    Private Sub LesComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged, ComboBox2.SelectedIndexChanged, ComboBox3.SelectedIndexChanged, ComboBox4.SelectedIndexChanged
            Dim IndexColonne As Integer
            Dim IndexLigne As Integer
            DataGridView1.ClearSelection()
     
           IndexColonne = DataGridView1.Columns(sender.DisplayMember).Index
     
             For IndexLigne = 0 To DataGridView1.Rows.Count - 1
                Try
                    If DataGridView1.Item(IndexColonne, IndexLigne).Value = sender.Text Then   
                        DataGridView1.Rows(IndexLigne).Selected = True
                    End If
                Catch
                End Try
            Next
        End Sub
    ...

  4. #44
    Nouveau membre du Club Avatar de paradize99
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    j'ai essayé et rien ne s'affiche ni dans le dgv ni dans les co,bobox

    Pour les "Fill"
    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
     
            cn1.FillSchema(UneTable1, SchemaType.Source)
            cn1.Fill(UneTable1)
     
            cn2.FillSchema(UneTable2, SchemaType.Source)
            cn2.Fill(UneTable2)
     
            cn3.FillSchema(UneTable3, SchemaType.Source)
            cn3.Fill(UneTable3)
     
            cn4.FillSchema(UneTable4, SchemaType.Source)
            cn4.Fill(UneTable4)
     
            cn5.FillSchema(UneTable5, SchemaType.Source)
            cn5.Fill(UneTable5)
     
            DtSet.Tables.Add(UneTable1)
            DtSet.Tables.Add(UneTable2)
            DtSet.Tables.Add(UneTable3)
            DtSet.Tables.Add(UneTable4)
            DtSet.Tables.Add(UneTable5)
     
            DtSet.Tables(0).TableName = "tblPN"
            DtSet.Tables(1).TableName = "tblCustomer"
            DtSet.Tables(2).TableName = "tblTool"
            DtSet.Tables(3).TableName = "tblRequisition"
            DtSet.Tables(4).TableName = "tblToolRequisition"
    Et la procedure:
    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
     
    Private Sub LesComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged, ComboBox2.SelectedIndexChanged, ComboBox3.SelectedIndexChanged, ComboBox4.SelectedIndexChanged
            Dim IndexColonne As Integer
            Dim IndexLigne As Integer
            DataGridView1.ClearSelection()
     
            IndexColonne = DataGridView1.Columns(sender.DisplayMember).Index
     
            For IndexLigne = 0 To DataGridView1.Rows.Count - 1
                Try
                    If DataGridView1.Item(IndexColonne, IndexLigne).Value = sender.Text Then
                        DataGridView1.Rows(IndexLigne).Selected = True
                    End If
                Catch
                End Try
            Next
        End Sub

  5. #45
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Alors là, je ne comprends pas ... N'y a-t-il pas un autre problème ?
    Si le DataGridView et les Combo se remplissent quand tu mets les lignes FillSchema en commentaire, alors j'abandonne ce détail et tu dois garder la procédure LesComboBox_SelectedIndexChanged d'hier, celle avec le Select Case.

    Une dernière piste, ne laisser la ligne FillSchema que pour la table qui alimente le DataGridView (la 5ème je pense).

    Pour ce qui est de la procédure LesComboBox_SelectedIndexChanged, tu peux voir la mienne dans le programme MonStockFR. Dans ce programme, j'effectue aussi la lecture du schéma pour chaque table puisque cela est programmé dans la fonction CreerUneTable().

    ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [XL-2007] Ajout de lignes dans listes viex depuis combobox puis calculer
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/08/2011, 22h38
  2. Afficher des images depuis une table dans combobox
    Par sihammaster dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/04/2010, 19h51
  3. DataGridView avec comboBox sur les lignes
    Par gentelmand dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/03/2009, 13h46
  4. Réponses: 13
    Dernier message: 14/04/2008, 14h30
  5. afficher une image depuis un combobox
    Par ghosthacker dans le forum MFC
    Réponses: 5
    Dernier message: 11/06/2007, 10h35

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