Récuperer une cellule d'un datagrid [Résolu]

Signaler
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005
-
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007
-
Comment fait-on pour afficher une cellule d'une ligne récupérée d'un datagrid (+d'autres éléments concernant cette cellule) dans une autre webform ou il y'a des textes box et combobox que celle où l'on a récupéré l'élément?
j'utilise l'asp .net et VB

Quelqu'un aurait-il un exemple SVP?

17 réponses

Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Je suppose que tu utilises un datagrid en mode auto (je ne sais pas le
nom exact), va dans le générateur de propriété de ce datagrid et dans
la colonne en question, tu dois avoir un lien "Passer cette colonne en
colonne modèle". Tu pourras maintenant être plus libre pour remplir ta
colonne. Je te conseil d'aller faire un tour sur msdn pour comprendre
comment une colonne en mode template fonctionne.



Une fois que tu auras compris tu pourras utiliser un lien dans une colonne comme ceci :











'>







Cette fois on devrait y être non ?
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

Salut,
Si l'on n'a que du contenu text (boundcolumn par ex) il est possible de récupèrer le contenu par :
MonText=MonDataGrid.items(n).cells(p).text
où n est le numéro de ligne et p la colonne.

Si c'est une templateColumn avex des contrôles Label p.ex. dans la cellule, on peut faire ,je crois
dans la Sub de Commande du datagrid:

Dim monLabel As Label = MonDataGrid.Items(e.Item.ItemIndex).Cells(p).FindControl("MonLabel")


MonText = monLabel.Text


Où "e.item.ItemIndex" est le numéro dela ligne qui a envoyé la commande


Encore mieux(?), on peut même mettre :


DimmonLabel As Label =Ctype(MonDataGrid.Items(e.Item.ItemIndex).Cells(p).FindControl("MonLabel "),label)




Il y a encore d'autres syntaxes avec e.item.dataitem("maColonne"), il faut travailler en regardant l'aide MSDN c'est indispensable!
Voilà, mais précise un peu ta question et avec quel environnement du développes (code behind ou pas)
@+ Gilles
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

bonjour
merci pour tes reponses
mais c ke je ve moi c récupérer une ligne de mon datagrid en cliquant dedans et de l'afficher dans un autre formulaire (aspx) et que chaque enregistrement récupérer du datagrid s'emplace dans sa place cad dans un textbox par ex
j'espére ke mon probléme est claire
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Salut,



Je suppose que tu remplis ton datagrid par une source de donnée
quelconque. Pourquoi tu ne crées pas une colonne sur ton datagrid avec
un lien qui a comme paramètre l'id de l'enregistrement de cette ligne
vers ton autre formulaire, pour pouvoir rappeler la même source de
donnée mais en selectionnant seulement l'enregistrement ayant l'id que
tu souhaites ?



Si pour une raison qui m'échappe tu ne peus pas faire ca, et à
condition que ton datagrid ne contienne pas trop d'infos et que celles
ci ne sont pas "sensible", je te propose de créer une conne
supplémentaire dans ton datagrid qui contient un lien avec tout le
contenu de ta ligne de ton datagrid en paramètre ( ex :
page.aspx?nom=dupuis&age=34...). Ensuite dans l'autre page, tu
récupères les informations de la querystring dans le page load si elles
existent et tu remplis tes textboxs



++
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

exactement c ça c ke jé fé mais le probléme ki reste c ke je ne sé pas comment remplire mes textesbox
un pe de patiente avec moi je suis débutante
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

pour suivre l'idée de benjiiii..., :

si ton lien est mapage.aspx?nom=Dupuis&age=87&adresse=......etc
tu peux écrire par ex,si ton premier textbox a pour ID "monTextbox1"
monTextbox1.text=request.queryString("nom")
ensuite,
monTextbox2.text=request.queryString("age")
et
monTextbox2.text=request.queryString("adresse")
etc...etc.....
tout ça dans le Page_Load
@+ Gilles
PS évite le charabia façon SMS, j'ai du mal !
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

le probléme ke j'ai un datagrid liée au donnés et cette methode ça marche pas il fé passé juste la valeur du lien ou on clik et non pas toutes les informations
voila c ke je fé
situationadministrative.aspx?doti={0}
comme ça il passe juste la valeur du doti ou on a cliké
et lorsque je fais
situationadministrative.aspx?doti={0}&nom_prenom ???
mais pour le nom et le prénon par ex je sé pa koi mettre pour la faire passer aussi au url?
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

bonjour
merci bcq pour ton aide ça l'aire que ça marche
je te remercie troppppp fort
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

est c qu'on pe passer autant d'enregistrement dans le lien ?ou bien un nombre bien détérminé?
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Il n'y a pas de limite théorique pour un URL selon la rfc que tu trouveras ici : http://www.faqs.org/rfcs/rfc2616.html.

C'est plutot des navigateurs qui limitent le nombre de caractère. Pour internet explorer la taille est de 2083 caractères.

++



PS : n'oubli pas de cliquer sur accepter la réponse pour que les
personnes ayant le meme problème que toi puisse trouver la solution
plus facilement.
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

c que tu m'a donné dans ton code il marche tres bien pour les string mais je veu aussi transmettre des integer et des float ainsi que des date sur la meme chaine alors comment peux je ecrire la synatxe ?
pcq j'ai essayé de les transmettre de la meme faon mais ça arche pas il me donne une erreur de fomat
merci pour ton aide
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Cela converti directement en string tes valeurs, tes valeurs sont donc
transmises en string dans l'url. quand tu les récupères tu as juste à
parser tes strings avec les bonnes valeurs. par exemple pour un int qui
est transmis avec le nom entier sur l'url tu fais :
int.Parse(request.queryString("adresse"))



N'oubli pas msdn...
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

je comprend par cela que la syntaxe est la meme que ça soit un string ou entier cad salut.aspx?nom=" + DataBinder.Eval(Container.DataItem, "nom") je doit par mettre per ex nom.tostring ,ou un truc comme ça si le nom est entier
le seul chagement c au niveau de la page ou il y'a le request .from?
c ça ?
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

oui c ca
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

merci bcp
Messages postés
16
Date d'inscription
lundi 12 septembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

bonjour
mon probléme est le suivant
je veu faire passer plusieurs url dans le lien avec les données bien sur
est c ke c possible pcq il faut ke je fé passer des informations dans le datagrid sur des url différents mais en cliquant sur le mem boutton
je veux savoir comment faire cela
j'espére ce jé bien expliqué mon probléme
a l'aide svp
Messages postés
96
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
13 juillet 2007

Autant un peu d'abréviations ne me dérange pas mais la, si il faut 5minutes pour lire un post, c'est pas possible, je crois que ca va être la dernière fois que je te réponds.

De plus je n'ai pas très bien compris ce que tu veus faire, un lien pointe sur un url, le navigateur ira sur cet url. Tu ne peus pas aller sur deux urls !!!! je ne comprends pas !