Bonjour,
Ma problématique est simple : je souhaiterai manipuler les données chargées dans mon DataGridview. Pour se faire, je veux utiliser un conteneur métier qui gère une collection fortement typée.
Pour ce qui est de l'affichage des données dans mon DataGridView, je n'ai aucun probleme.
C'est des que je souhaite récupérer une instance via la propriété DataItem que j'obtiens toujours la valeur null.
Voici le code de ma page aspx:
Et le code behind :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <h2>Adminstration des clients</h2> <asp:GridView ID="GdwClients" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"> <Columns> <asp:CommandField ShowDeleteButton="True" /> <asp:BoundField DataField="ID" ReadOnly="True" /> <asp:BoundField DataField="Nom" /> </Columns> </asp:GridView>
Dans mon cas c'est le code GdwClients.Rows[e.RowIndex].DataItem qui renvoie toujours null...
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
17
18
19
20
21 public partial class Pages_Admin_Clients : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GdwClients.DataSource = BusinessFactory.ClientManager.List(); GdwClients.DataBind(); } private void GdwClientsRowDeleting(object sender, GridViewDeleteEventArgs e) { var client = (Client)GdwClients.Rows[e.RowIndex].DataItem; BusinessFactory.ClientManager.Delete(client); } protected override void OnInit(EventArgs e) { base.OnInit(e); GdwClients.RowDeleting += new GridViewDeleteEventHandler(GdwClientsRowDeleting); } }Pourquoi?
Partager