Bonjour à tous,
j'ai rencontré un probleme lors de l'utilisation d'un ObjectDataSource pour remplir un gridView.
Au départ tout fonctionne nickel, ma méthode qui va récupérer les données dans la dataTable fonctionne et renvoi bien une liste d'objet.
Mon problème est le suivant :
à l’intérieur de cet objet, il y a un autre objet encapsulé, je voudrais savoir comment faire pour aller récupérer les propriétés de celui_ci à l'intérieur du .ASCX.
Voici un exemple de constructeur pour mieux comprendre :
j'ai ma classe Enregistrement de commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Commande { public int ID { get; set; } public DateTime DateLivraison { get; set; } public Client Client { get; set; } public Commande() { this.ID = -1; this.DateLivraison = new DateTime(1970, 01, 01); this.Client = new Client(); }J'ai fais une méthode qui renvoie une Commande[] (GetAllCommande), elle fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Client { public int ID { get; set; } public DateTime DateLivraison { get; set; } public Client Client { get; set; } public Client() { this.ID = -1; this.Nom= string.Empty; this.Prenom =string.Empty; }
quand je viens alimenter mon GridView comme ceci :
Comment faire pour aller chercher la propriété Name de mon client svp? car il crash que pour cette propriété.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <asp:GridView ID="historiqueCommande" runat="server" AutoGenerateColumns="False" DataSourceID="histCommande" DataKeyNames="ID"> <Columns> <asp:TemplateField HeaderText="ID" Visible="False"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("ID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:HyperLinkField HeaderText="Client" DataTextField="Name"/> <asp:BoundField HeaderText="Date de livraison" DataField="Date_livraison" /> <asp:BoundField HeaderText="Client" DataField="Client.Name" /> </asp:GridView> <asp:ObjectDataSource ID="histCommande" runat="server" SelectMethod="GetAllCommande" TypeName="Emplacement de ma méthode" DeleteMethod="deleteCommande"> </asp:ObjectDataSource>
Merci d'avance.
Cordialement Azirius.
Partager