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 :

[VB.NET/WINFORM] Problème refresh checkbox DatagridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut [VB.NET/WINFORM] Problème refresh checkbox DatagridView
    Bonjour,

    j'ai deux formulaires :

    frmRechercheTiers
    frmAfficheInforTiers

    Je tappe une recherche dans le premier formulaire (frmRechercheTiers), et charge toutes les information du tiers dans le deuxième.

    Le deuxième formulaire (frmAfficheInfoTiers) contient un DataGridView, avec deux colonnes de type case à cocher.
    Quand je tappe ma recherche la premiere fois tout s'affiche sans probleme sauf les cases à cocher, elles sont vides.
    Dans mon deuxieme formulaire tjrs, ya un boutton "rechercher" qui appel le premier, et là quand je tappe ma recherche les cases à cocher se raffraichissent !!
    EN fait, la grille ne s'actualise pas dès la premiere recherche.

    Avez - vous une idée?


    Merci d'avance


    PS: j'ai testé avec Refresh, et dessiner la colone manuellement et ca n'a pas fonctionner.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Sous quelle forme sont les données affichées dans le DataGridView ? DataTable, liste d'objets... ?

    Fais voir le code qui charge les infos dans le DGV

  3. #3
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    datatable

    Le code :


    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
    da_tiersAdresse = New SqlDataAdapter("SELECT * FROM tiers_adresses WHERE idtiers=" & frmAfficheTiers.lblID.Text, cnx)
    ds_tiersAdresse.Clear()
    da_tiersAdresse.Fill(ds_tiersAdresse, "tiers_adresses")
    Dim dt_tiersAdresse As DataTable = ds_tiersAdresse.Tables(0)
    frmAfficheTiers.dgvAdressesTiers.DataSource = dt_tiersAdresse
     
    Dim k As Integer
    For k = 0 To frmAfficheTiers.dgvAdressesTiers.Rows.Count - 1
     
    Select Case frmAfficheTiers.dgvAdressesTiers.Rows(k).Cells("tatypeadresse").Value
    Case Is = 1
    frmAfficheTiers.dgvAdressesTiers.Rows(k).Cells("adrfact").Value = True
    Case Is = 2
    frmAfficheTiers.dgvAdressesTiers.Rows(k).Cells("adrlivr").Value = True
    Case Is = 3
    frmAfficheTiers.dgvAdressesTiers.Rows(k).Cells("adrfact").Value = True
    frmAfficheTiers.dgvAdressesTiers.Rows(k).Cells("adrlivr").Value = True
    End Select
     
    Next k
     
    End If
     
    frmAfficheTiers.MdiParent = mdiMenu
    frmAfficheTiers.Show()

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Oula... si tu mélanges le mode "data bound" avec du remplissage manuel du DGV, tu risques d'avoir des mauvaises surprises... d'ailleurs tu les as déjà eues

    Je te suggère une autre approche : ajoute dans ta DataTable des colonnes adrfact et adrliv, que tu ne remplis pas à partir du SELECT mais que tu définis avec une expression :
    - pour adrfact, l'expression est "tatypeadresse = 1 OR tatypeadresse = 3"
    - pour adrliv, l'expression est "tatypeadresse = 2 OR tatypeadresse = 3"
    Et tu mappes les colonnes du DGV sur ces nouvelles colonnes. Ca t'évitera de bidouiller en direct sur les cellules du DGV

  5. #5
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Merci tomlev,

    Je ne vois pas bien comment je vaisfaire
    Et comment défénir le type de colones (checkbox) que je vais ajouter au datatable ?
    Un petit coup de pousse encore merci

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par tssi555 Voir le message
    Et comment défénir le type de colones (checkbox) que je vais ajouter au datatable ?
    - soit tu as créé le DataSet avec le designer : dans ce cas, ajoute simplement à la DataTable 2 colonnes de type System.Boolean, et définis leur propriété Expression

    - soit tu l'as créé par le code : dans ce cas ajoute les colonnes par le code, en définissant l'Expression en même temps
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    table.Columns.Add("adrfact", GetType(Boolean), "tatypeadresse = 1 OR tatypeadresse = 3")
    table.Columns.Add("adrliv", GetType(Boolean), "tatypeadresse = 2 OR tatypeadresse = 3")

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

Discussions similaires

  1. [VB.Net] Petit problème de Checkbox
    Par qwertyuiop dans le forum Windows Forms
    Réponses: 11
    Dernier message: 14/06/2010, 12h47
  2. Réponses: 9
    Dernier message: 21/12/2009, 11h20
  3. [VB.NET - WinForm] Problème avec ToUpper()
    Par tssi555 dans le forum VB.NET
    Réponses: 20
    Dernier message: 28/07/2009, 17h12
  4. Réponses: 7
    Dernier message: 21/01/2009, 11h27
  5. [C#.NET WINFORMS] Problème de .dll
    Par MrCyprom dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/09/2006, 12h54

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