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 :
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;
}
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
 
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
            }
        }
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
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>