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 :

Permettre de modifier une rangée d'un datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut Permettre de modifier une rangée d'un datagridview
    Bonjour,

    j'ai un datagridview que je remplis avec un dataset
    un textbox et un bouton
    le datagridview est mis à readonly = true
    je voudrais après avoir tapé un string dans le textbox et cliquer le bouton
    selectioner la rangée dont rows(i).Cells(1).Value.ToString = la valeur du textbox
    et mettre cette rangée à readonly = false pour permettre de modifier les données
    des cellules
    voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DataGridView1.ReadOnly = True
     
    Private Sub Buttonshow_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Buttonshow.MouseClick
          For iter = 0 To DataGridView1.RowCount - 2
                If DataGridView1.Rows(iter).Cells(1).Value.ToString = searchnametxt.Text Then
                    DataGridView1.Rows(iter).ReadOnly = False
                    DataGridView1.Rows(iter).Selected = True
                    exit for
                End If
            Next
        End Sub
    le code fonctionne pas comme voulu
    la rangée est selectionnée mais DataGridView1.Rows(iter).ReadOnly = False
    n'a pas d'effet

    par contre si j'écris ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ' DataGridView1.ReadOnly = True 
     
    Private Sub Buttonshow_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Buttonshow.MouseClick
          For iter = 0 To DataGridView1.RowCount - 2
                If DataGridView1.Rows(iter).Cells(1).Value.ToString = searchnametxt.Text Then
                    DataGridView1.Rows(iter).ReadOnly = False
                    DataGridView1.Rows(iter).Selected = True
                Else
                    DataGridView1.Rows(iter).ReadOnly = True
                End If
            Next
        End Sub
    cela fonctionne
    la question pourquoi la 1 er méthode ne fonctionne pas ?

    merci d'avance

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Extrait de la documentation: http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx
    A cell is read-only if the value of the ReadOnly property is true for the cell, the cell's row, the cell's column, or the DataGridView.
    Donc à partir du moment où ton datagridview est en ReadOnly, toutes les cellules le sont aussi.

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    merci
    j'ai résolu le problème
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.ReadOnly = True
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For iter = 0 To DataGridView1.RowCount - 2
           DataGridView1.Rows(iter).ReadOnly = True
     Next

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

Discussions similaires

  1. modifier une ligne dans un datagridview
    Par misscricri dans le forum VB.NET
    Réponses: 5
    Dernier message: 30/10/2011, 19h51
  2. modifier une variable "range"
    Par shinji7800 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2009, 15h18
  3. Modifier la couleur de ma police d'une colonne d'un datagridView
    Par skunkies dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/12/2008, 16h52
  4. Modifier une valeur d'un datagridview alimenté manuellement
    Par Runan dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/05/2007, 17h05
  5. Réponses: 1
    Dernier message: 13/03/2007, 15h31

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