[VB 2008] [Datagridview] Comment trouver la valeur d'une cellule de la ligne sél

cs_squadou Messages postés 3 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 janvier 2011 - 13 janv. 2011 à 10:02
blq Messages postés 97 Date d'inscription vendredi 22 octobre 1999 Statut Membre Dernière intervention 13 juin 2016 - 20 déc. 2011 à 18:29
Bonjour, j'ai cherché ces deux derniers jours, et je n'ai toujours rien trouvé.

J'ai crée un datagridview, dans ce datagrid sont présents les données d'une BDD Mysql.

Une fois rempli, je veux pouvoir par exemple trouver une valeur de la cellule de la ligne sélectionnée avec le nom de la colonne( ou de la table ).

Je suis en BTS IG, je suis très loin d'être un pro comme vous pouvez le voir :p


Mon datagrid correspond à une table "Personne", avec Numpers , ect ...

J'ai déjà mis les cellules de la ligne sélectionnée dans des textbox, quand j'appuie sur le bouton modifier. ( via un dataset )


Là, en appuyant sur le bouton supprimer, je supprime la ligne, mais je veux aussi supprimer la correspondance avec une autre table ( Une association qui regroupe les deux clefs étrangères Numprojet et Numpers, qui relie une personne à un projet ).

Donc je voudrais pouvoir prendre la valeur Numpers de la ligne selectionnée du datagrid pour pouvoir faire une requête SQL " Delete from ... where " *valeur de la cellule*

( D'ailleurs il doit y avoir d'autres moyens, que je ne connais peut être pas ^^ )


Voili voilou, je ne sais pas si vous avez compris, sachant que vous ne connaissez pas le projet que va avec.

Je peux poster le Mcd, voire le code du programme.

Pour l'instant, j'ai contourné ce problème en mettant numpers dans un textbox, puis en reprenant la valeur et de la mettre dans la variable pour la requête.



Merci pour votre aide

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 janv. 2011 à 14:49
salut

il me semble que c'est ce que tu recherches

delete from table1,table2
where table2.col1 = table1.col1
and ....
0
cs_squadou Messages postés 3 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 janvier 2011
13 janv. 2011 à 15:00
Hum, merci pour ta réponse.

En fait, je veux avoir la valeur de la cellule de la ligne selectionnée

ça aurait pu être ça par exemple :

datagridview1.currentrow.cells("numpers")

Si cette ligne avait marché comme je le voulais, elle m'aurait donné la valeur de la cellule de la colonne Numpers, de la ligne actuellement sélectionnée.

Seulement cette ligne de commande est fausse, mais ça doit être un truc comme ça :p
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 janv. 2011 à 15:16
En c# j'ai ca et te reste à convertir
les [] par des ()

 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {                       MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
        }
0
cs_squadou Messages postés 3 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 janvier 2011
13 janv. 2011 à 15:32
J'ai essayé ça ;

suprstr = dataGrid1.currentrow.Cells[0].Value.ToString()

Mais il me dit : Une valeur de type 'System.Windows.Forms.DataGridViewCellCollection' ne peut pas être convertie en 'String'.

En fait, mon mode de sélection du datagridview est pas ligne, non pas par cellule unique, donc il faudrait justement que je puisse obtenir la valeur en donnant le numéro de la colonne ou son nom ( ici présent, nom de colone : numpers )

Je ne sais même pas si c'est possible, en tout cas merci d'essayer de m'aider :p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 janv. 2011 à 16:12
Je ne comprends pas moi ca fonctionne sans probleme
RowHeaderSelect pour le mode de selection qui est le mode par defaut

            northwndDataSet nw = new northwndDataSet();
            nw.Products.AddProductsRow("toto",null,null,"10",10,1,1,1,true);
            nw.Products.AddProductsRow("toto1", null, null, "10", 10, 1, 1, 1, true);
            nw.Products.AddProductsRow("toto2", null, null, "10", 10, 1, 1, 1, true);
            nw.Products.AddProductsRow("toto3", null, null, "10", 10, 1, 1, 1, true);
            nw.Products.AddProductsRow("toto4", null, null, "10", 10, 1, 1, 1, true);
            nw.Products.AddProductsRow("toto5", null, null, "10", 10, 1, 1, 1, true);
            nw.AcceptChanges();


 dataGridView1.DataSource = nw.Products;


....
 private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show(dataGridView1.CurrentRow.Cells[0].Value.ToString());
        }

J'ai le bien la colonne 0 qui s'affiche sur le click du button3


0
blq Messages postés 97 Date d'inscription vendredi 22 octobre 1999 Statut Membre Dernière intervention 13 juin 2016 1
20 déc. 2011 à 18:29
Je ne sais pas si mon information peut aider (au regard de la date du message), mais comme je cherchais quelque chose qui me semblait similaire, c'est à dire récupérer la valeur d'une cellule "choisie", après un Click souris dans la cellule qui possède un contenu, voici ce qui fonctionne depuis le bon Event de l'objet :

Private Sub DataGridV_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridV.CellContentClick
Try
Call MessageBox.Show(DataGridV.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString)

Catch Err As Exception
Call MessageBox.Show("cell content click operation failed: " & Err.Message)
End Try
End Sub
0
Rejoignez-nous