Bonjour,

J'ai un gridview que je crée dynamiquement dans mon code behind dans mon page_load.
J'ai appliqué les propriétés de tri automatique sur celui-ci, mais lorsque je clic sur une colonne, cela m'ouvre une boite d'erreur comme quoi l'événement sorting n'est pas géré.
J'ai eu beau essayé différentes choses, rien à faire.

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
33
34
35
<asp:updatepanel runat="server" id="UpdatePanel2" UpdateMode="Always"> 
   <contenttemplate> 
 <asp:GridView ID="GridViewListeFichier" runat="server"               
            CellPadding="10" >
          <%-- <AlternatingRowStyle CssClass="StyleAltRows" />
          <HeaderStyle CssClass="headerstyle" />
          <RowStyle CssClass="rowstyle" />--%>
       <Columns>
            <asp:TemplateField ShowHeader="true">
                <ItemTemplate>
                    <asp:CheckBox ID="chkBox" runat="server" />
                </ItemTemplate>
                <HeaderTemplate>
                    <asp:CheckBox ID="cbSelectAll" runat="server" Text="" />
                </HeaderTemplate>
             </asp:TemplateField>
 
 
 
       </Columns>
 
        <emptydatatemplate>
 
          <asp:image id="NoData"
            imageurl="/Images_Projet/Images/DonneesVides.png"
            alternatetext="Pas d'image" 
            runat="server"/>
 
          <br /> <div style="color:#32639A">Pas de pièce jointe enregistrée</div>  
 
        </emptydatatemplate> 
 
     </asp:GridView>   
 
     </ContentTemplate>
Et la partie correspondante dans le page_load :

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
protected void Page_Load(object sender, EventArgs e)
        {
 //Remplissage du tableau des pièces jointes
            string c_string = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
            SqlConnection cx = new SqlConnection(c_string);
 
            string rqFichiers = "SELECT NumFichier,Chemin,(round(([Taille]/1000),1)) AS TailleKo,DateCreation,(CAST(DateCreation AS INT)) AS DateInt FROM TableImage";
 
            SqlCommand sqlFichiers = new SqlCommand(rqFichiers, cx);
 
            //Ouverture de la connexion
            cx.Open();
 
            SqlDataReader Resultat = sqlFichiers.ExecuteReader();
 
            GridViewListeFichier.AllowSorting = true;
            GridViewListeFichier.AutoGenerateColumns = false;
            GridViewListeFichier.DataKeyNames = new string[] { "Chemin" };
            GridViewListeFichier.AllowPaging = false;
            GridViewListeFichier.ShowHeader = true;
            GridViewListeFichier.CssClass = "StyleTab";
 
 
            BoundField NumFichier = new BoundField();
            NumFichier.HeaderText = "Numéro";
            NumFichier.DataField = "NumFichier";
            NumFichier.SortExpression = "NumFichier";
            NumFichier.ShowHeader = true;
            GridViewListeFichier.Columns.Add(NumFichier);
 
            HyperLinkField Chemin = new HyperLinkField();
            Chemin.HeaderText = "Nom Fichier";
            Chemin.DataNavigateUrlFields = new string[] { "Chemin" };
            Chemin.DataTextField = "Chemin";
            Chemin.DataNavigateUrlFormatString = "~/DownloadFile.aspx?Chemin={0}";
            Chemin.Target = "_blank";
            Chemin.SortExpression = "Chemin";
            Chemin.ShowHeader = true;
            GridViewListeFichier.Columns.Add(Chemin);
 
            BoundField Taille = new BoundField();
            Taille.HeaderText = "Taille";
            Taille.DataField = "TailleKo";
            Taille.SortExpression = "TailleKo";
            Taille.ShowHeader = true;
            GridViewListeFichier.Columns.Add(Taille);
 
            BoundField DateCreation = new BoundField();
            DateCreation.HeaderText = "Date de création";
            DateCreation.DataField = "DateCreation";
            DateCreation.SortExpression = "DateInt";
            DateCreation.ShowHeader = true;
            DateCreation.DataFormatString = "{0:dd/MM/yyyy}";
            GridViewListeFichier.Columns.Add(DateCreation);
 
            GridViewListeFichier.DataSource = Resultat;
            GridViewListeFichier.DataBind();
 
            //Fermeture de la connexion
            cx.Close();
}
Si quelqu'un verrait d'où peut venir le problème? Merci.