none
DataGridView case a cocher RRS feed

  • Question

  • Bonjour,

    J'ai un probleme que je n'arrive pas a resoudre.

    Comme vous le voyer un datagridview avec certaine collones en case a cocher

    Quand je coche certaines cases, comme ici dessus

    je n'arrive a a saisir le bon code pour determiner quand on a cocher, pas selectionner

    voic mon code :

     

    Private Sub Dgv_Buzin_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Dgv_Buzin.CellClick

          If e.RowIndex >= 0 And e.ColumnIndex >= 8 Then

             If Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).ReadOnly = True Then

                MsgBox("Ce N° de planche n'est pas accessible !! ", MsgBoxStyle.Information, "DbTimbres : Buzin")

             ElseIf Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Selected = True Then

                Dgv_Buzin.Rows(e.RowIndex).Tag = 1

     

                If Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = "" Then

                   Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = 1

                Else

                   Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = ""

                End If

     

             End If

          End If

     

    End Sub

    Desqu'on clik dans la celulle, avant qu'elle ne devienne "checked" elle est "selected"

    Donc difficile de dire quand on coche ou decoche une celulle

    Un peut d'aide SVP

    Merci a vous

    Salva

     

     

    vendredi 23 juillet 2010 12:30

Réponses

  • Bonsoir,

    Merci pour la reponse.

    Coivi le code final, ca marche tres bien !!!!!!

       Private Sub Dgv_Buzin_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Dgv_Buzin.CellClick

     

          If e.RowIndex >= 0 And e.ColumnIndex >= 8 Then

             If Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).ReadOnly = True Then

                MsgBox("Ce N° de planche n'est pas accessible !! ", MsgBoxStyle.Information, "DbTimbres : Buzin")

             ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = False Then

                Dgv_Buzin.Rows(e.RowIndex).Tag = 1

                Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = 1

             ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = True Then

                Dgv_Buzin.Rows(e.RowIndex).Tag = 1

                Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = 0

             End If

          End If

     

       End Sub

    Cordialement

    Salva

    • Marqué comme réponse Alex Petrescu lundi 26 juillet 2010 13:08
    vendredi 23 juillet 2010 18:32
  • Bonjour,

    Voici ce qu'il faut utiliser dans la condition de votre ElseIf :

    ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = True Then
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu lundi 26 juillet 2010 13:08
    vendredi 23 juillet 2010 14:20
    Modérateur

Toutes les réponses

  • Bonjour,

    Voici ce qu'il faut utiliser dans la condition de votre ElseIf :

    ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = True Then
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse Alex Petrescu lundi 26 juillet 2010 13:08
    vendredi 23 juillet 2010 14:20
    Modérateur
  • Bonsoir,

    Merci pour la reponse.

    Coivi le code final, ca marche tres bien !!!!!!

       Private Sub Dgv_Buzin_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Dgv_Buzin.CellClick

     

          If e.RowIndex >= 0 And e.ColumnIndex >= 8 Then

             If Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).ReadOnly = True Then

                MsgBox("Ce N° de planche n'est pas accessible !! ", MsgBoxStyle.Information, "DbTimbres : Buzin")

             ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = False Then

                Dgv_Buzin.Rows(e.RowIndex).Tag = 1

                Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = 1

             ElseIf Convert.ToBoolean(Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) = True Then

                Dgv_Buzin.Rows(e.RowIndex).Tag = 1

                Dgv_Buzin.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = 0

             End If

          End If

     

       End Sub

    Cordialement

    Salva

    • Marqué comme réponse Alex Petrescu lundi 26 juillet 2010 13:08
    vendredi 23 juillet 2010 18:32