Bonjour,

Dans ma page web, je récupère des données que j'affiche dans un GridView.
La source de données de mon GridView est un ObjectDataSource.

Dans mon GridView, je gère l'édition :
1. L'utilisateur peut sélectionner une ligne (via un ImageButton "Editer").
2. La ligne sélectionnée passe en mode édition (les champs de la ligne sélectionnée passent en mode TextBox, et deux ImageBouton "Save" et "Cancel" apparaissent)
3. Quand l'utilisateur appuie sur l'ImageBouton "Save", les changements effectués sur la ligne sont enregistrés (dans la gridView et en base de données).


Ma source de données (ObjectDataSource)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<asp:ObjectDataSource ID="odsListCriteriasDataSource" 
                          runat="server" 
                          DataObjectTypeName="BusinessLayer.BusinessClasses.ArticleCriteria"
                          TypeName="ObjetDataSourceBindingClass" 
                          SelectMethod="GetArticleCriteria"
                          UpdateMethod="UpdateArticleCriteria" 
                          onupdating="odsListCriteriasDataSource_Updating">
</asp:ObjectDataSource>
Ma GridView

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<asp:GridView runat="server" ID="MyGridView" DataSourceID="odsListCriteriasDataSource" AutoGenerateColumns="False">
...
</asp:GridView>
Le truc c'est que pour initialiser les propriétés de l'objet que je veux Update (ArticleCriteria), pour avoir leur valeur en fait, il faut que je fasse des #Bind.

Echantillon du code dans mon GriDView

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Label ID="abcd" Text=' <%# Bind("idArticleCriteria") %>' runat="server"></asp:Label>
                        </ItemTemplate>
Grâce aux #Bind, je peux récupérer toutes les valeurs des propriétés de mon objet et je peux les utiliser par la suite dans ma méthode d'Update.


Je suis obligé de #Bind les différentes propriétés de mon objet via des propriétés de contrôles dans ma GridView.
Je suis donc obligé de créer un contrôle pour chaque propriétésd'objet que je veux #Bind.

Est il possible de #Bind des propriétés de mon objet sans passer par les propriétés de contrôle ?

Merci de votre aide.



J'espère que c'est clair, je manipule pas mal de nouveaux concept pour moi dans la page que j'essaye de réaliser. Des concepts que je ne maîtrise pas forcément pour le moment ..