[aspx][c#] dataGrid

alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004 - 21 avril 2004 à 13:51
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004 - 22 avril 2004 à 14:12
j'ai un Datagrid dans lequel il y a une colonne contenant un bouton
mon probleme est que quand je clique sur ce bouton je voudrait recuperer le numero de la ligne
je ne sais pas comment faire

Merci d'avance

Alexis

-- Moi aussi je saurai ! --

13 réponses

Trinita16 Messages postés 199 Date d'inscription lundi 22 juillet 2002 Statut Membre Dernière intervention 14 juin 2006
21 avril 2004 à 15:05
slt,

Pou ma part, je gérer une colonne id ....

8-) :-p

Trinita,
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
21 avril 2004 à 16:19
Comment ca une colonne id?

mon but est de recuperer le numero de la ligne afin de pouvoir retrouver le contenu de toutes les cellules de la ligne
avec ce numero je peux faire:

int x; //numero de la ligne;
TextBox fac = (TextBox)DataGrid.Items[x].FindControl("colonne1");

je ne sais pas si c'est la meilleur solution mais cest ma seul idée car apres le clic je veu recuperer les valeurs afin de les rentrer dans la base de donness

J'ai besoin d'aide!!!!!

Alexis
-- Moi aussi je saurai ! --
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
21 avril 2004 à 16:26
Meme avec une colonne id comment fais tu pour recuperer sa valeur et l'envoyer au script????

Merci pour ton aide :big)

-- Moi aussi je saurai ! --
0
Trinita16 Messages postés 199 Date d'inscription lundi 22 juillet 2002 Statut Membre Dernière intervention 14 juin 2006
21 avril 2004 à 16:36
slt,

je fais comme ça :

e.Item.Cells[0].Text

8-) :-p

Trinita,
0

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

Posez votre question
Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004
21 avril 2004 à 17:03
En fait, dans le datakeyfield de ton datagrid, tu mets "id"

Ensuite pour le récupérer, tu fais :
int Id = (int)taGrid.DataKeys[(int)e.Item.ItemIndex];

Moi je fais comme ça et ça tourne nikel.

Si tu as d'autres questions, n'hésite pas.

*** Kati ***
0
Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004
21 avril 2004 à 17:10
Ah, et puis j'oubliaias, pour la suite si tu veux gérer le clic sur le bouton tu fais :
if((((LinkButton)e.CommandSource).CommandName)=="Update")
{
là tu appelles ta fonction qui ajoute les données dans la base
}

Je sais pas si c'est ce que tu veux, faire, mais c'est déjà une bonne approche...

Bon courage !

*** Kati ***

*** Kati ***
0
Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004
21 avril 2004 à 17:11
Ah, et puis j'oubliaias, pour la suite si tu veux gérer le clic sur le bouton tu fais :
if((((LinkButton)e.CommandSource).CommandName)=="Update")
{
là tu appelles ta fonction qui ajoute les données dans la base
}

Je sais pas si c'est ce que tu veux, faire, mais c'est déjà une bonne approche...

Bon courage !

*** Kati ***
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
21 avril 2004 à 17:30
en faisant une méthode "Onclick" e est un ImageClickEventArgs et non un DataGridCommandEventArgs donc il n'y a pas de proprietes Cells!!

je n'arrive pas a faire comme tu la expliqué dans un autre topic une methode de la forme
void methode(Object sender, DataGridCommandEventArgs e){}

g essayé de rajoute a mon datagrid la propriété ItemCommend
mais rien ne se passe quand je clic sur le bouton

je ne comprend pas...

-- Moi aussi je saurai ! --
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
21 avril 2004 à 17:31
c'etait en réponse a Trinita16

je vais essayer ta soluceKati83

-- Moi aussi je saurai ! --
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
22 avril 2004 à 09:36
Je cne comprends pas vraiement ta solution, j'ai l'impression que ton code et pour le code behind alors que je suis en aspx

if((((LinkButton)e.CommandSource).CommandName)=="Update")

ou met tu ce code, dans le cs?? pb : mon bouton n'est pas declarer dans le cs mais dans l'aspx

le second probleme c'est qu'avec l'id ca m'avance pas beaucoup car comment recuperer les valeurs des autres colonnes avec l'id???? le numero de la ligne serait mieux car je pourrait faire un code du style

TextBox fac = (TextBox)dataGrid.Items[0].FindControl("TB_Num");

et cela pour tout les champs
est-ce que je dois plutot rajouter mon bouton dans le cs??
et si oui comment retrouver le numero de ligne

Merci beaucoup de t'interresser a mon pb!

Alexis

-- Moi aussi je saurai ! --
0
Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004
22 avril 2004 à 10:11
C'est vrai que je n'ai pas précisé que le code que je t'ai donné était à placer dans ton aspx.cs.
Désolée.

Si tu veux, moi je m'en sers pour afficher une liste de news, et sur la ligne il y a un bouton supprimer.
Lorsque je clique sur supprimer, il me récupère l'id de la ligne qu'il passe ensuite dans l'url pour le transmettre à un formulaire de modification. Mais pour que ce formulaire soit déjà rempli, j'appelle une procédure stockée dont l'id de ma news est passé en paramètre et qui me récupère tous les autres champs...

Pour ce que je veux en faire, c'est une très bonne solution.
Maintenant, si toi tu veux récupérer la valeur des autes colonnes, et les passer à une autre page, il peut y avoir un inconvénient si tes champs sont de grande taille (et c'est pour ça que la procédure stockée est plus simple)

Maintenant à toi de voir quelle solution tu préfères !

Si tu veux d'autres détails, demande !
Bonne journée.

*** Kati ***
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
22 avril 2004 à 10:41
en fait j'ai pas trop le choix car l'utilisateur paut modifier les donnees dans le datagrid (exemple : cocher une case)
il faut bien que je recupere les donnees qu'il a modifier sinon je ne vais rien modifier dans ma base
d'ou l'interet de recuperer le numero de la ligne (ce qui me permet ensuite de recuperer les donnees!!)

tu as la solution je le sais :big)

merci

-- Moi aussi je saurai ! --
0
alexisDotNet Messages postés 43 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 15 juin 2004
22 avril 2004 à 14:12
Ca y est j'ai trouvé

il rete un petit detail avec le type du boutton mais j'y suis presque

pour ceux que la solution interresse:

http://www.developpez.net/forums/viewtopic.php?p=995324#995324

Merci a tous ceux qui m'ont aidé!!

Alexis

-- Moi aussi je saurai ! --
0
Rejoignez-nous