Situation :
J'ai un gridView qui se peuple dans CreateFormat(), appelée dans le Page_Load.
Dans CreateFormat, j'appelle Header_Change(), qui sert à ajouter des contrôles Label dans l'en-tête de 4 colonnes du gridView.
J'ai un événement OnSorted pour le gridView qui rappelle CreateFormat() pour recréer le gridView.
Problème :
Lorsque je tri m'importe quel colonne du gridView, les contrôles Label précédemment placés dans l'en-tête des colonnes, disparaissent.
Pourtant, en faisant des test, j'ai pu voir qu'il y avait toujours 2 contrôles dans l'en-tête, mais il n'y a que l'hyperlien, par défaut lorsque nous utilisons AllowSorting, de visible.
Voici mon gridView :
Voici mon code dans Page_Load :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <asp:GridView ID="ux_DataFormat" CssClass="BorderStyle" runat="server" DataSourceID="ux_srcFormat" AllowSorting="true" AutoGenerateColumns="False" DataKeyNames="" CellPadding="3" Width="80%" onRowCommand="ux_DataFormat_RowCommand" OnSorted="ux_DataFormat_Sorted">
Voici mon code dans CreateFormat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 protected void Page_Load(object sender, EventArgs e) { InitConnection("LassondeDev"); myConnexionString = myConn.ConnectionString; if (String.IsNullOrEmpty(Convert.ToString(ViewState["systemeUnite"]))) { ViewState["systemeUnite"] = "International"; CreateFormat(); } }
Voici mon code lors du triage :
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 private void CreateFormat() { string sCritere = FiltreCritere(); string sQuery = ""; if (Convert.ToString(ViewState["systemeUnite"]) == "International") { sQuery = "..."; } else { sQuery = "..."; } ux_srcFormat.ConnectionString = myConn.ConnectionString; ux_srcFormat.SelectCommand = sQuery; ux_DataFormat.DataBind(); BoutonSystem_Change(); Header_Change(); }
Merci d'avance pour vos suggestions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 protected void ux_DataFormat_Sorted(object sender, EventArgs e) { CreateFormat(); }
Partager