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 :

Modification DataGrid Aprés recherche


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut Modification DataGrid Aprés recherche
    Bonjours les programmeurs,

    Après 3 jours de recherche sur les forums et maints essais je viens demander de l'aide. Voilà je développe un petit programme en VB.net, je souhaite pouvoir effectuer une recherche dans une datagrid, sélectionner cette ligne et la modifier. J'ai surfé sur les forums j'ai trouvé plein de code mais qui été vraiment bien long et complexe. Existe-t-il une manière des plus simples pour rechercher une donnée dans un datagrid grâce à une textbox et la modifier par la suite. Faut 'il obligatoirement utiliser un BindingSource?

    Voila en espérant avoir été des plus claires.
    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Tu pourais montrer ton code parce que là ce n'est pas vraiment évident de comprendre ce que tu veux faire...

    Si c'est pour trouver la valeur de ta comboBox et si c'est un String :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For Each row As DataGridViewRow in maDataGrid.Rows
        If row.Cells.Item("maColonne").Value.ToString.Equals(maComboBox.Text) Then
            'Ton traitement
        End If
    Next

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut
    Oui Dsl pour le code mais j'ai encore rien de bien structuré, et tu as vue trés juste, c'est le code que j'attendais. (Dire que ce n'étais pas grand chose)
    Seulement il me met une erreur:
    La référence d'objet n'est pas définie à une instance d'un objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For Each row As DataGridViewRow In DataGridView1.Rows
                If row.Cells.Item("Column1").Value.ToString.Equals(TextBox3.Text) Then
                    nom.Text = "ça MArche"
                End If
            Next
    Sinon ce code compare les valeurs de ma colonne et ma textbox, mais des fois il ne récupere pas le numéro de la ligne quelquepart ??

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Tu peux mettre le code complet ou au moins la fonction qui bloque si c'est trop long

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut
    Oui si tu veux je met le plus interesssant.
    La fonction qui bloque c'est celle que j'ai mis plus haut.

    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
    31
    32
    33
    Imports System.IO
    Imports System.Text
    Public Class Form1
        Dim categorie, jour As String
        Dim numero As Integer = 1
     
        Private Sub Form1_Load() Handles MyBase.Load
            nom.Focus()
        End Sub
     
    'Cette fonction sert à envoyer des valeurs dans la datagrid sur 5 colones
        Private Sub add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles add.Click
            Groupe()
            Dim row0 As String() = {nom.Text, prenom.Text, categorie, jour, numeros.Text}
            Me.DataGridView1.Rows.Add(row0)
            numero = numeros.Text
            numero = numero + 1
            numeros.Text = numero
            nom.Clear()
            prenom.Clear()
            nom.Focus()
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
    'Ici je veux pouvoir rechercher une valeur dans la colone 1 de la datagrid
    qui correspond à celle de la TextBox3         
    For Each row As DataGridViewRow In DataGridView1.Rows
                If row.Cells.Item("Column1").Value.ToString.Equals(TextBox3.Text) Then 'ICI QUE ARRIVE LE PROBLEME
                    nom.Text = "G reussi"
                End If
            Next
        End Sub
    Voila ^^ en espérant que cela t'aide
    MErci d'avance

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Tu as des lignes dans ta DGV avant de lancer ta recherche ?

    Sinon tente ce test avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If DataGridView1.Rows.Count > 0 Then
        For Each row As DataGridViewRow In DataGridView1.Rows
                If row.Cells.Item("Column1").Value.ToString.Equals(TextBox3.Text) Then 'ICI QUE ARRIVE LE PROBLEME
                    nom.Text = "G reussi"
                End If
            Next
    End If

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

Discussions similaires

  1. Rafraichissement d'un DataGrid après modification d'un élément d'une liste
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 31/03/2015, 17h05
  2. Code de modification contenu Cellule apres recherche
    Par xeeel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/06/2009, 12h17
  3. Réponses: 3
    Dernier message: 22/06/2006, 23h23
  4. faire un état d'après recherche multicritère
    Par bilouk dans le forum Access
    Réponses: 4
    Dernier message: 12/01/2006, 18h30
  5. [VB.NET] Recuperer numero ligne dans DATAGRID apres event
    Par stephane93fr dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 11h58

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