Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [C / C++ / C#] » C#/ASP.Net | DropDownList dans une GridView et variable Enabled depuis C#
Login Mot de passe

2 visiteurs sur ce topic (0 membre(s), 2 invité(s) )


Auteur
Sujet : C#/ASP.Net | DropDownList dans une GridView et variable Enabled depuis C#
Flymann TTH
Vétéran
Membre # 11665

 Avatar du membre
Lieu : Dax / Rodez

Messages :
4512 (0.88 par jour)


Score :

Message du 06-06-2008 @ 15:18   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Bonjour à tous,

Mon soucis et que je n'arrive pas à modifier la valeur "Enabled" d'une DropDownList qui se situe dans une GridView.

Alors tout d'abord voici ce à quoi ça ressemble graphiquement parlant :



Et pendant la modification :




Le code ASP.Net s'y référent :

Code :


<ItemTemplate>
<asp:DropDownList ID="listTypeV" runat="server" DataSourceID="SqlDataSource2" DataTextField="TV_Type_Vehicule" DataValueField="TV_Id_Type_Vehicule" SelectedValue='<%# Bind("TV_Id_Type_Vehicule") %>'>
</asp:DropDownList>
</ItemTemplate>



Le tout bien évidemment dans une GridView.


Ce que je pensais faire : mettre la DropDownList sur "Enabled = false" par défaut et utiliser l'évènement RowEditing pour changer ce statu à "true" histoire de laisser l'utilisateur saisir une valeur différente dans la DropDownList.

Seulement lorsque je recherche le contrôle depuis le code C# qui s'y réfère, je n'arrive pas à le trouver.

Primo en tapant "nomDeMaGridView.nomDeMaDropDownList", évidemment je n'y accède pas.

Ensuite en utilisant :
Code :

(DropDownList)tableTest1.FindControl("listTypeV")



Pas moyen de trouver le contrôle qui s'y réfère.

Et même par :
Code :

(DropDownList)tableTest1.SelectedRow.FindControl("listTypeV")



Je n'accède pas au contrôle.


Pourtant l'objet existe bien puisque j'arrive à utiliser la DropDownList quand je teste le code si je la laisse à "Enabled = true".


Et dans la partie graphique de Visual Studio j'ai bien :
Code :

tableTest1.Column6Typedevéhicule.ItemTemplate.listTypeV



J'ai également essayé ça :

Code :


foreach (GridViewRow mesRows in tableTest1.Rows)
{
myControl = (DropDownList)mesRows.FindControl("listTypeV");
myControl.Enabled = false;
}



après qu'on m'ai suggéré de passer par les "rows", mais même résultat :(


Bref je ne vois pas ce qui fait que je ne peux accéder à cet objet pour le modifier.

Comme je suis débutant en ASP.Net, j'ai peut être loupé un truc simple, mais j'ai beau faire des recherches, je ne vois pas.

Si jamais vous avez une idée... ;)


________________________________________________________________
Configuration de la plateforme :

Windows Server 2003 à jour, Visual Studio 2005 à jour, Framework .Net 3.5, VSTO, VSeWSS1.1, etc. ...


EDIT : Suggestion pour :fotasoul: : faudrait que les caractères de la partie code soient plus visibles.
Je pense qu'une barre de scrolling lorsque ça dépasse la taille de la fenêtre serait un plus.
Et pour finir pourquoi par de la coloration syntaxique tant qu'on y est ?
Oui je sais... je pousse :D


[message édité le 06-06-2008 @ 23:48 Par Flymann TTH]
----------
Core2Duo E8400 @ 4,25Ghz + 1A-HV3 + Kit 1A, P5Q Pro + 1A nb, 2*2 Go G-skill @473Mhz 4-4-4-12
Sapphire 4870 + EKwaterblocks, Alim Seasonic S12 600W, Antec SuperLan Boy
DD Samsung - 4 x 500 Go RAID 0+5 - RAID 0 : 340Mo/s, 10ms - RAID 5 : 210Mo/s, 15ms
Panasonic CF-T4 - 12" P-m 1.2 ULV - 915GM - 1Go DDR2 - Momentus 5400 160Go ____ 22H d'autonomie avec 2 batteries
Nikon D700 + Nikkor AF-S 24-70mm f/2.8G ED + SB-900
- Haut de page -
Flymann TTH
Vétéran
Membre # 11665

 Avatar du membre
Lieu : Dax / Rodez

Messages :
4512 (0.88 par jour)


Score :

Message du 11-06-2008 @ 10:43   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Bon après pas mal de recherches (voir http://www.developpez.net/forums/showthread.php?t=564495) j'ai finis par y arriver, et c'était beaucoup plus simple que prévu :

Il suffisait de créer un "EditItemTemplate" pour avoir ce que je voulais.

Code :

<asp:TemplateField HeaderText="Type de véhicule" SortExpression="TV_Id_Type_Vehicule">

<ItemTemplate>
<asp:DropDownList ID="listTypeV" runat="server" DataSourceID="SqlDataSource2"
DataTextField="TV_Type_Vehicule" DataValueField="TV_Id_Type_Vehicule" SelectedValue='<%# Bind("TV_Id_Type_Vehicule") %>' Enabled="False">
</asp:DropDownList>
</ItemTemplate>

<EditItemTemplate>
<asp:DropDownList ID="listTypeV" runat="server" DataSourceID="SqlDataSource2"
DataTextField="TV_Type_Vehicule" DataValueField="TV_Id_Type_Vehicule" SelectedValue='<%# Bind("TV_Id_Type_Vehicule") %>' Enabled="True">
</asp:DropDownList>
</EditItemTemplate>

</asp:TemplateField>



En attendant, si jamais quelqu'un peut me dire pourquoi mon "code behind" n'avait aucun effet sur la partie utilisateur, histoire que je sache pour le futur, je suis toujours preneur.

----------
Core2Duo E8400 @ 4,25Ghz + 1A-HV3 + Kit 1A, P5Q Pro + 1A nb, 2*2 Go G-skill @473Mhz 4-4-4-12
Sapphire 4870 + EKwaterblocks, Alim Seasonic S12 600W, Antec SuperLan Boy
DD Samsung - 4 x 500 Go RAID 0+5 - RAID 0 : 340Mo/s, 10ms - RAID 5 : 210Mo/s, 15ms
Panasonic CF-T4 - 12" P-m 1.2 ULV - 915GM - 1Go DDR2 - Momentus 5400 160Go ____ 22H d'autonomie avec 2 batteries
Nikon D700 + Nikkor AF-S 24-70mm f/2.8G ED + SB-900
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.026 secondes