GridView: Changer le comportement de ses controls [Résolu]

Messages postés
38
Date d'inscription
mercredi 4 juillet 2007
Dernière intervention
23 février 2009
- - Dernière réponse : SuperBouly
Messages postés
411
Date d'inscription
dimanche 1 février 2004
Dernière intervention
8 mai 2010
- 16 févr. 2009 à 11:30
Bonjour,

J'ai actuellement un GridView qui contient qui contient une textbox:
<

asp:GridView
ID="_grv" 

runat="server">
<Columns>
   <asp:TemplateField>
      <ItemTemplate>
         <asp:TextBox
ID="_txt"
runat="server"/>
      </ItemTemplate>
   </asp:TemplateField>
</Columns>
</asp:GridView>

Maintenant j'aimerais dans le code behind pouvoir modifier le comportement de ma textbox et eventuellement modifier le champs auquel il est rattaché à ma DataSource.
Je suis censé m'y prendre comment ?
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
38
Date d'inscription
mercredi 4 juillet 2007
Dernière intervention
23 février 2009
3
Merci
Bien joué Bouly c'était effectivement dans l'evenement OnRowDataBound, par contre la syntaxe est la suivante:


publicvoid GridView_OnDataBound(object sender, GridViewRowEventArgs args)
{
   
TextBox _txt = (
TextBox)args.Row.Cells[0].FindControl(
"_txt");
   _txt.Text =
"TuTu";
}

Par contre il faut faire attention à ne pas faire ça sur la première occurence de l'évenement qui correspond à la ligne de titre de colonne:
ColumnTitle => -1
Row0 => 0
Row1 => 1

etc ...

Voila :D

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sspizer
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
0
Merci
Bonsoir,

Si tu veux une réponse un peu précise, tu devrais essayer de décrire plus précisément ce que tu veux faire.
Qu'entends-tu par "modifier le comportement de ma textbox" ? et que veux-tu faire en modifiant le champ auquel elle est rattachée ?

GGtry
Commenter la réponse de ggtry
Messages postés
411
Date d'inscription
dimanche 1 février 2004
Dernière intervention
8 mai 2010
0
Merci
bonjour,
il faut intervenir dans MonGridView.RowDataBound :
Dim _txt as textbox= MonGridView.findControl("_txt")
_txt.Text=e.row.dataItem("monNouveauchamp") ou ="zutetZut" si tu veux !

SuperBouly
Commenter la réponse de SuperBouly
Messages postés
411
Date d'inscription
dimanche 1 février 2004
Dernière intervention
8 mai 2010
0
Merci
oui, tu as parfaitement raison, en vb.net, j'aurais du écrire
ife.Row.RowType = DataControlRowType.DataRow

Dim _txt as textbox=e.Row.findControl("_txt")
----- etc ...
de plus, en C#, pas de Handles MonGridView.RowDataBound
SuperBouly
Commenter la réponse de SuperBouly

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.