GridView, pagesize et conservation de valeurs
Bonjour tout le monde,
je débute dans le monde ASP.net / c#. Je le précise aux cas ou certaines de mes interrogations puissent paraitre triviales.
Je vous fait part d'un probleme que j'ai et dont je ne trouve de solutions bien qu'ayant chercher sur le net des solutions.
J'ai une gridview avec un pagesize determiné et qui renvoie (oui j'ai fait un gros raccourcis mais vous voyez l'idée) du contenu d'une base sql server.
J'ai placé des checkbox sur chaque ligne et une dans le header.
je clique dessus ca me sélectionne toutes mes lignes, re clique dessus deselectionnes. De meme en cliquant sur une chekbox puis sur le bouton appliquer de mon application, ca enregistre les modifs de la ligne "checkée".
Mais voila, quand on change de page, les checkbox sélectionnés ne le sont plus, ce qui oblige les utilisateurs a valider avant de changer de page.
j'ai essayé de stocker dans une arraylist les identifiants de les checkbox mais je me rend compte que d'une page a l'autre ils ont le meme ID, que ce soit clientID ou UniqueID, ca revient au meme, la 3eme checkbox de la page 1 s'appellera de la meme facon que la page 5. J'ai vu des choses comme les viewstate, mais je ne sais pas comment m'en servir et si c'est pertinent pour resoudre mon probleme.
Du coup, je ne sais pas trop comment m'y prendre, je vais voir si je suis autorisé a publié un peu du code que j'ai ecrit pour vous aidez a m'aider ^^
mais je peux deja vous mettre cela :
je vous remerci par avance de prendre le temps de lire et de m'orienter vers une soluce
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<asp:GridView ID="grdAjustementGains" runat="server" AutoGenerateColumns="False"
DataSourceID="odsAjustementGains" AllowPaging="True" AllowSorting="True" PageSize="10" Visible="true" ShowFooter="true" CssClass="GridStyle" HeaderStyle-CssClass="CustomGridHeader"
RowStyle-CssClass="CustomGridRows" FooterStyle-CssClass="GridFooter" OnRowCommand="grdAjustementGains_RowCommand">
<Columns>
.
.
.
.
.
.
<asp:TemplateField >
<HeaderTemplate>
<asp:CheckBox ID="AllCheckBox" checked="false" AutoPostBack="True" OnCheckedChanged="AllChecheckedBox" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkSelectLine" runat="server" AutoPostBack="True" Checked="false" Visible='<%#Eval("is_editable")%>' OnCheckedChanged="chkSelectLineChanged" />
</ItemTemplate>
</asp:TemplateField> |