Récupérér champ dans DataGrid

sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006 - 29 juin 2005 à 15:21
sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006 - 29 juin 2005 à 16:47
Bonjour,

Je débute en vb.net et SQL CE.

J'ai un datagrid qui affiche la sélection d'une requete et je voudrais pouvoir sélectionner une ligne puis passer à un autre formulaire,par un click de bouton, tout en gardant en mémoire la ligne sélectionnée.

Si vous avez une idée, n'hésitez pas merci d'avance.

8 réponses

TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
29 juin 2005 à 15:32
Tu peux essayer ceci :



Private sub dataclick(ByVal sender As System.Object, ByVal e As
System.EventArgs)datagrid1.click


'doubleclick marche aussi


try

dim nrow as integer = datagrid1.currentrowindex

form2.show()

catch es as exception

end try



end sub



' je le met en try, parce que tu peux rencontrer des bugs, aussi y'en a qui préfère la fonction : datagrid1.curentcellchanged...

faut tester
.Maytheforcebewithyou.Maxime.
0
sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006
29 juin 2005 à 15:50
Merci Maxime,

Je viens de tester et il me rend Null Reference Exception.

Si tu vois à quoi ça correspond, merci d'avance.

Sylvie
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
29 juin 2005 à 16:00
j'ai oublié un terme dans la sub... sorry :

private sub masub(idem)HANDLES datagrid1.click

...

end sub
en espérant que ca marche..
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
29 juin 2005 à 16:02
euh... faut mettre un espace aussi, désolé : private sub tasub (machin) Handles datac...
0

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

Posez votre question
sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006
29 juin 2005 à 16:03
Oui merci mais j'ai remarqué, donc ça vient d'autre chose.
Mais là je vois pas...
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
29 juin 2005 à 16:23
En fait, j'ai pas bien préciser ce que voulait dire ce code, et de là vient peut-être le problème :

avec ces quelques lignes, si tu cliques, attention c'est là qu'il y a
pas mal de précision, sur l'entête d'une ligne du datagrid (ni dans le
datagrid, ni dans l'entête supérieure...-j'espère que tu vois de quoi
je parle...-), alors il te met le n° de la ligne en nrow, et il ouvre
form2...

je crois que ca ressemble à ce que tu veux, en version rapide... parce
que l'autre solution consisterait à afficher l'id dans le datagrid,
mettre un textbox sur ta form, et demander à l'utilisateur de bien
vouloir remplir le textbox avec le n° de la ligne voulue, avant de
clicker sur le bouton qui ouvre form2...
.Maytheforcebewithyou.Maxime.
0
sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006
29 juin 2005 à 16:31
En fait je clic sur le début de ligne représenté par un triangle et le message est Null Reference Exception.

Je comprend pas trop, je pense que DataGrid1.CurrentRowIndex est vide.
Mais je sais oas pourquoi...

Dim dSetBandeD
As DataSet

Dim dAdapterMaCollection
As SqlCeDataAdapter

Dim connexion
As SqlCeConnection



Public
Sub RemplirDataSet()connexion New SqlCeConnection("Data source \Flash Disk\transport.sdf")
dAdapterMaCollection =
New SqlCeDataAdapter("SELECT nom_clt, adr_clt FROM bl", connexion)
dSetBandeD =
New DataSet

Try
connexion.Open()

Catch
MessageBox.Show("Impossible d'ouvrir la connexion", "Erreur")

Return
End
Try


dAdapterMaCollection.Fill(dSetBandeD, "collec")
DataGrid1.DataSource = dSetBandeD.Tables("collec")
connexion.Close()

End
Sub

Private
Sub dataclick(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles DataGrid1.Click

'doubleclick marche aussi
Dim form2
As Form2



Try
Dim nrow
As
Integer = DataGrid1.CurrentRowIndex
form2.ShowDialog()

Catch es
As Exception
MessageBox.Show(es.Message)

End
Try



End
Sub
0
sisi35 Messages postés 50 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 juin 2006
29 juin 2005 à 16:47
Par contre j'ai testé:
MessageBox.Show(DataGrid1.CurrentRowIndex.ToString)

Et ceci me renvoie bien l'index.

Donc je vois pas ce qui cloche?
0
Rejoignez-nous