Datagridview et Radiobuttonlist [ASP.NET] - C#/.NET managed - Programmation
Marsh Posté le 01-07-2009 à 11:19:00
vu que je n'ai pas resolu mon problème, je retente un dernier petit up
Marsh Posté le 01-07-2009 à 13:44:36
Merci Fred82, tu me sauves la vie aujourd'hui.
Je vais me pencher la dessus et je te tiendrais au courant ^^
Marsh Posté le 07-07-2009 à 18:57:32
tu peux récupérer normalement le controle Radio par la propriété Control de chaque cellule en question.
Marsh Posté le 08-07-2009 à 10:59:14
j'ai du mal à comprendre le principe du control (le msdn est pas tres explicite)
Marsh Posté le 08-07-2009 à 12:13:22
A mon avis si tu utilise une GridView, il faudra que tu utilse des TemplateField dans la définition des colonnes.
Puis Binder les champs de ta source avec un scriplet du genre:
<asp:RadioButton id="StatutOK" Runat="server" Checked='<%# (bool)DataBinder.Eval(Container.DataItem, "Champbooleen" ) %>' AutoPostBack="True" OnCheckedChanged="ClickRadioButton" >
</asp:RadioButton>
Marsh Posté le 08-07-2009 à 13:22:00
oui mais ca ca fonctionne dans le cas d'un radiobutton mais pas pour une radiobuttonlist
Code :
|
le probleme c'est que dans ma fonction "check_radio" je vois pas comme acceder au radiobutton (vu qu'ils ont pas de nom)
Marsh Posté le 08-07-2009 à 14:22:23
ben en fait j'arrive pas a acceder à Etat car il est dans une gridview
je pensais que GriView1.Etat aurait marché mais en fait non
Marsh Posté le 10-07-2009 à 10:10:40
Tu as un évènement onRowDataBound(sender,e) lié à ton contrôle DataGridView.
Code :
|
Marsh Posté le 10-07-2009 à 10:28:41
non en fait ici mon object sender est la datagridview pas Etat
Code :
|
bpoujol a écrit : Tu as un évènement onRowDataBound(sender,e) lié à ton contrôle DataGridView. |
Je vais regarder de ce coté la mais j'avoue que pour le moment c'est un peu obscure ce code
Marsh Posté le 10-07-2009 à 10:40:55
fatloui a écrit : |
Code :
|
1L'item on rowDataBound est appelé dès que une ligne est "bindé" sur la GridView.
En gros sur ton exemple : le gv est rempli par ta dataSouce "SQLdataSource1", à chaque fois qu'il écrit une ligne, il lève l'évènement.
2Tu recupère le contrôle dont tu veux évaluer la valeur
3Tu recupère le contrôle dont tu veux modifier la valeur dans ton cas
RadioButtonList rbl = (RadioButtonList)e.Item.FindControl("Etat" );
4Tu modifie ton contrôle
rbl.Items[0].Checked
Marsh Posté le 10-07-2009 à 11:14:38
merci ^^
je commence à y voir plus clair
parcontre, il me semble que on rowDataBound se declare
protected void GridView1_bind(object sender, GridViewRowEventArgs e)
et non pas
protected void GridView1_bind(object sender, DataListItemEventArgs e)
du coup j'ai tenté
Code :
|
Mais ca ne fonctionne pas car l'objet "is not found" et du coup je suis un peu perdue aussi
Marsh Posté le 10-07-2009 à 11:22:40
fatloui a écrit : merci ^^ |
Tout a fait, faute de frappe (je n'ai pas de Visual Studio sous les yeux).
Bizarre qu'il ne trouve pas le contrôle...
Marsh Posté le 10-07-2009 à 11:31:25
j'ai tenté
Code :
|
et ca aussi
Code :
|
ca me donne toujours la meme erreur : La référence d'objet n'est pas définie à une instance d'un objet.
J'ai du faire une erreur au niveau de la declaration
Marsh Posté le 13-07-2009 à 10:18:45
alors en fait ca fonctionne mais ca me genere une erreur a la fin
Code :
|
Il me met tous les radiobutton de la rangée 0 à true et Label1 prend le text "ici"
c'est bizarre mais ca fonctionne.
Par contre,
mon objectif est qu'à la chargement de la page, les radiobuttons prennent une position en fonction d'une base de donnée => Ca marche nikel en utilisant
Code :
|
Par contre je veux que lorsque le user valide, les données de la bdd soient mises à jour
Code :
|
Ca fonctionne aussi (la connexion à la bdd se passe nikel) sauf que rbl.Items[0].Selected ne prend pas la nouvelle valeur de la page mais celle qui etait au chargement de la page.
En clair :
initialement : rbl.Items[0].Selected == true , le user coche le 2eme radio button (logiquement rbl.Items[0].Selected == false et rbl.Items[1].Selected == true)
sauf que lorsque le user click sur valider, rbl.Items[0].Selected == true
Je vois pas d'ou vient le probleme
Marsh Posté le 15-07-2009 à 16:03:30
Mon probleme est resolu (en partie)
en fait j'avais declaré ma radiobuttonlist sur la page aspx comme ca
Code :
|
Et chaque fois que je validais, il me selectionnait tous les 1er radiobutton
et maintenant
Code :
|
Il ne fait plus ce qu'il veut et laisse le radio button selectionné à true (et non pas le premier)
Merci pour votre aide ^^
Marsh Posté le 09-06-2009 à 16:50:53
Bonjour,
J'ai un petit probleme.
J'ai créé un Datagridview dans lequel j'ai ajouté une colonne contenant une RadiobuttonList de 3 Radiobuttons.
Maintenant, je veux que les radiobutton soient selectionnés en fonction de la valeur d'une colonne d'une table d'une base de données SQL Server et que lorsque que le user valide, la bdd soit mise à jour
donc d'un coté j'ai ma page .aspx avec mes radio buttons et de l'autre ma bdd
le probleme c'est que j'arrive pas a acceder aux radiobutton dans la gridview. (et donc à faire la liaison entre les la bdd et la page .aspx)
Je code en ASP.NET/c# sous framework .NET 2.0
Lorsque je veux acceder a la datagridview dans le fichier .cs, je peux
mais quand je veux acceder au radiobutton, impossible !
je pensais utiliser la methode FindControl(string) pour acceder a ma radiobuttonliste mais comment manipuler ce control pour verifier quel radiobutton est selectionné?
Je sais pas si je suis trés clair
Merci de votre aide
Message édité par fatloui le 01-07-2009 à 11:18:50