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 6 et antérieur Discussion :

Mettre en rouge une ligne dans la listview


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Mettre en rouge une ligne dans la listview
    Bonjour,

    voila dans ma form d'accueil,j'ai une Listview que je rempli avec une table ACCESS,quand je clik 2 fois sur une ligne une form s'ouvre ou je remplis divers renseignement et à partir de la l'enfant est présent.
    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
    'Fonction de rafraichissement de la page accueil
    Sub Rafresh(requete As String)
     
    '-- Requete Sql
        Set RS = New ADODB.Recordset
        RS.Open requete, Db
     
        '-- Nettoie la liste
        Frm_Accueil.List.ListItems.Clear
     
        '-- Remplissage de la liste
        If RS.EOF Then
            Frm_Accueil.List.ListItems.add , , "Aucun Enregistrement"
            Exit Sub
        Else
            Do Until RS.EOF
     
                Frm_Accueil.List.ListItems.add , , RS!nomenfant_ctr, , "po1"
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!prenomenfant_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!pere_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!mere_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!age_ctr & " ans"
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!caf_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!Num_ctr
                RS.MoveNext
            Loop
        End If
     
        RS.Close
    End Sub
    j'ai créer une requete dans ACCESS pour récupérer la liste des présents .
    Ma question est comment faire pour mettre en rouge dans la listview d'accueil les enfants qui sont présents

    merci
    cordialement

  2. #2
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    bonjour,
    j'ai mis se code dans le Load de ma Form,mais il met en rouge le dernier Nom de ma liste alors qu'il n'est pas présent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set RS = New ADODB.Recordset
         RS.Open "select * from present_enfant WHERE nomenfant_ctr", Db 
    Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!nomenfant_ctr
    Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ForeColor = vbRed
    si quelqu'un à une idée pour mettre en rouge tous les enfants qui sont présent

    merci

  3. #3
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Dans ton code, tu as mis : Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ForeColor = vbRed.
    C'est normal d'avoir uniquement le dernier élément de la liste qui est mis en rouge à cause de ListItems.Count qui correspond au dernier élément de la liste.

    Alors ma suggestion : Puisqu'en double-cliquant sur un élément de la liste, une feuille s'ouvre pour y mettre des infos, ajoute sur cette feuille une case à cocher(CheckBox) intitulée par exemple Présence dont le nom serait chkPresent.
    Dans la feuille en question, il devrait y avoir une référence quelconque à chaque enfant. Utilise cette référence( et de préférence la clé unique identifiant l'enfant) et dans l'événement chkPresent_Click, mets une condition sur son état par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If chkPresent.Value = vbChecked Then
        frm_Accueil.List.ListItems(Index).ForeColor = vbRed
    Else
        frm_Accueil.List.ListItems(Index).ForeColor = vbBlack
    End If
    avec Index le numéro de la ligne correspondant à l'enfant en cours dans la liste(ListView).

    D'ailleurs ce numéro peut être récupéré à partir de l'événement DblClick de la ListeView et le mettre par exemple dans un contrôle TextBox caché puis l'utiliser dans chkPresent_Click.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    merci,je vais essayer

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/06/2010, 15h30
  2. Mettre le titre d'une colonne dans une cellule
    Par Argonan dans le forum Excel
    Réponses: 6
    Dernier message: 25/02/2009, 22h47
  3. Comment afficher ou Maskquer une Colonne dans Listview
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/06/2008, 11h44
  4. Largeur d'une colonne dans une listview
    Par soso78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/01/2008, 13h17
  5. Mettre à jour les lignes d'une colonne dans dataTable
    Par Mikelester12 dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/07/2007, 09h31

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