Bonjour,
J'ai une datagridview déjà rempli et en fait je veux parcourir cette data pour extraire une ligne avec un nom attribué dans une colonne que je veux et puis modifier juste quelque colonnes de cette ligne. comment puis je faire ? merci
Bonjour,
J'ai une datagridview déjà rempli et en fait je veux parcourir cette data pour extraire une ligne avec un nom attribué dans une colonne que je veux et puis modifier juste quelque colonnes de cette ligne. comment puis je faire ? merci
Bonjour,
Grâce à l'événement "FocusedRowChanged", vous aurez la ligne sélectionné.
Cordialement Christophe
En fait je sélectionne pas une ligne, le probléme c'est que j'ai dans une autre fenetre un textbox et un bouton, je veux quand je clik sur le bouton il me recopie la valeur du textbox dans une colonne d'une ligne dans le datagridview. avec cette algo:
Parcourir le datagrid ligne par ligne
Si la ligne(i) avec la colonne(2) = "Bla bla"
alors affecter a cette ligne en question dans la collone(8) une valeur
Pas le temps de plus me pencher sur le problème ...
Je continuerai demain, désolé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 dim Cpteur as integer = GridView.rows.count() 'Comptage du nbe de ligne totale dim a as integer 'variable qui permet le comptage For each a <> Cpteur if Ligne(i,col2) then col(8)= ResultTxtbox Next
Voilà l'idée je suppose
Cordialement
Bonjour,
Dans le event de ton botton, tu mets :
mais ça, ça va juste modifier dans ton datagridView, le temps qu'elle est en exécution, si tu veux le modifier au niveau de la base de donnés, il faut que tu intégre le code de mise à jour au niveau de la BD.
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 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim TxtValue As String = TextBox1.Text Dim i As Integer Button1.Enabled = False If (DataGridView1.Rows.Count > 0) Then For i = 0 To DataGridView1.Rows.Count If Not DBNull.Value.Equals(DataGridView1.Rows(i).Cells(1).Value) Then If (DataGridView1.Rows(i).Cells(1).Value.ToString().Trim() = "bla bla") Then DataGridView1.Rows(i).Cells(7).Value = TxtValue End If End If Next End If Button1.Enabled = True End Sub
NB : DataGridView1.Rows(i).Cells(7).Value, ça veux dire la colonne 8
Si la DataGridView est "bindée" avec une DataTable, il vaut mieux modifier la DataTable, avec éventuellement une écriture dans la base de donnée (par exemple en appellant la fonction UpDate du DataAdapter et les fonctions AcceptChanges ou RejectChanges de la DataTable suivant le résultat de l'Update).
En fait c'est ca j'utilise un DataTable dans ce cas là je fais quoi s'il vous plait?
je pense qu'il ya une méthode DataTable.item(La colonne , la ligne) ??
Malheureusement, non : la seule solution, me semble-t-il, consiste à utiliser une colonne de la datagridView contenant une clé primaire pour rechercher dans la DataTable l'enregistrement correspondant à la DataGridView!une méthode DataTable.item(La colonne , la ligne)
Ne pas oublier que la DataGridView peut être triée ou filtrée et que aucune propriété des rows (hormis le contenu des colonnes) n'est conservée lors des opérations de tri ou filtre![]()
Partager