1. #1
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    février 2009
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : février 2009
    Messages : 538
    Points : 1 097
    Points
    1 097

    Par défaut Datagrid récupérer celulle

    Bonjour,
    J'aimerais que en cliquant sur une cellule du datagrid faire changer la valeur de la cellule
    si la cellule que je click est à 1 qu'elle devienne à 0, si 0 qu'elle devienne à 1

    donc j'ai essayé dans even click

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_Click()
        If DataGrid1.Columns(1) = 0 Then
           DataGrid1.Columns(1) = 1
        Else
            DataGrid1.Columns(1) = 0
        End If
    End Sub
    DataGrid1.Columns(1) va chercher la cellule active et non celle qui est cliqué.

    j'ai essayé dans even RowColChange

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        If DataGrid1.Columns(1) = 0 Then
           DataGrid1.Columns(1) = 1
        Else
            DataGrid1.Columns(1) = 0
        End If
    End Sub
    ça fonctionne mais si tu click et reclick sur la même cellule ça ne fonctionne pas.

    ma question est quel even il faut prendre, ou quel code employé?

    Merci!

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    3 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 999
    Points : 7 789
    Points
    7 789

    Par défaut

    Salut

    Dans l’évènement Click, utiliser la propriété .Row et Col (non pas Rows ni Cols, qui est le nombre de ligne et le nombre de colonne du DartaGrid)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_Click()
        If DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "0" Then
           DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "1"
        Else
           DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "0"
        End If
    End Sub
    N'ayant pas VB6 sous la main et que je ne me fie qu'à ma mémoire, j'ai un doute sur la place du Col et Row,
    il ce pourrait que cela soit plutôt,
    DataGrid1.TextMatrixt (DataGrid1.Row, DataGrid1.Col) = "0"
    que
    DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "0"

  3. #3
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    février 2009
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : février 2009
    Messages : 538
    Points : 1 097
    Points
    1 097

    Par défaut

    Bonjour ProgElecT,
    Merci de répondre aussi vite

    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_Click()
        If DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "0" Then
           DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "1"
        Else
           DataGrid1.TextMatrixt (DataGrid1.Col, DataGrid1.Row) = "0"
        End If
    End Sub
    Erreur de compilation
    Méthode ou membre de données introuvable
    sur TextMatrixt

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    3 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 999
    Points : 7 789
    Points
    7 789

    Par défaut

    Arf...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        If DataGrid1.Text= "0" Then
           DataGrid1.Text = "1"
        Else
           DataGrid1.Text = "0"
        End If
    End Sub
    Étant donné que DataGrid1.Text renvoie la cellule active ............ bon ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    février 2009
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : février 2009
    Messages : 538
    Points : 1 097
    Points
    1 097

    Par défaut

    oui RowColChange fonctionne comme je l'ai dit dans mon premier poste.
    Le problème de RowColChange est que si je click une 2e fois sur la même cellule
    ça ne fonctionne pas car je n'ai pas changé de ligne ni de colonne.

    que faire?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    février 2009
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : février 2009
    Messages : 538
    Points : 1 097
    Points
    1 097

    Par défaut

    En ajoutant DataGrid1.Col = 0 dans event DataGrid1_RowColChange ça fonctionne vue que mon changement est dans la colonne 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        If DataGrid1.Columns(1) = 0 Then
           DataGrid1.Columns(1) = 1
        Else
            DataGrid1.Columns(1) = 0
        End If
     
         DataGrid1.Col = 0
     
    End Sub

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

Discussions similaires

  1. DataGrid -> Récupérer un CollectionViewGroup
    Par stailer dans le forum Silverlight
    Réponses: 1
    Dernier message: 11/04/2011, 22h52
  2. Datagrid -> récupérer un DataGridColumnHeader
    Par stailer dans le forum Silverlight
    Réponses: 1
    Dernier message: 26/03/2011, 19h19
  3. [Binding / DataGrid] Récupérer la dernière valeur d'une liste
    Par Hyome dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 16/11/2010, 22h23
  4. Réponses: 3
    Dernier message: 04/06/2010, 14h31
  5. [WebForms][DataGrid] Récupérer la valeur d'une cellule...
    Par elbj dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 12/12/2005, 14h00

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