Bonjour,
je decouvre un peu l'utilisation du GridView, et j'ai du mal à mettre mes données dans les templates que j'ai défini.
concrètement, j'ai ceci :
Ensuite, à l'appelle de mon RowDataBound, j'ai un début de code, mais je ne sais pas comment accéder aux données que j'ai mise dans le DataSource (j'ai épuré un peu le code).
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
22 protected override void OnLoad(EventArgs e) { this.gvTest.DataSource = MyTable(); this.gvTest.DataBind(); } private DataTable MyTable() { DataTable myTable = new DataTable(); myTable.Columns.Add("ID", typeof(Int32)); myTable.Columns.Add("Gender", typeof(String)); myTable.Columns.Add("Name", typeof(String)); myTable.Rows.Add(687861, "Male", "Guy"); myTable.Rows.Add(456878, "Unknown", "John"); myTable.Rows.Add(867867, "Unknown", "Ely"); myTable.Rows.Add(558757, "Female", "Sarah"); return myTable; }
et juste pour info voici mon code aspx
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 void gvTest_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { Literal lIdTitle = (Literal)e.Row.FindControl("lIdTitle"); lIdTitle.Text = "test1"; // j'aimerais mettre le nom de ma colonne } if (e.Row.RowType == DataControlRowType.DataRow) { Literal lIdData = (Literal)e.Row.FindControl("lIdData"); lIdData.Text = "test"; // pareil ici avec la bonne valeur } }
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
22
23
24
25
26
27
28
29
30
31
32 <asp:GridView ID="gvTest" Width="100%" AutoGenerateColumns="false" AllowSorting="true" EmptyDataText="aucune données" runat="server"> <Columns> <asp:TemplateField> <HeaderTemplate> <p><a href="#"></a></p> <h3><asp:Literal ID="lIdTitle" runat="server" /></h3> </HeaderTemplate> <ItemTemplate> <asp:Literal ID="lIdData" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderTemplate> <p><a href="#"></a></p> <h3><asp:Literal ID="lGenderTitle" runat="server" /></h3> </HeaderTemplate> <ItemTemplate> <asp:Literal ID="lGenderData" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderTemplate> <p><a href="#"></a></p> <h3><asp:Literal ID="lNameTitle" runat="server" /></h3> </HeaderTemplate> <ItemTemplate> <asp:Literal ID="lNameData" runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
Partager