2010-08-29 6 views
0

Dans une vue de grille j'ai utilisé la pagination pour que j'ai utilisé l'état d'affichage pour stocker la donnée pour la lier sur GridView1_PageIndexChanging tout fonctionne bien, mais le problème se produit avec le première colonne qui a la case à cocher placée dans chaque rangée. Lors de la navigation, toutes les cases à cocher ne sont pas cochées, ce qui permet également de conserver l'état de la case à cocher.case à cocher case à cocher pour la présélection sur la néigation (pagination)

c'est le code aaspx

<Columns> 
<asp:TemplateField HeaderText="Select Student"> 
<ItemTemplate> 
<asp:CheckBox id="Chek" runat="server" Text="select" ></asp:CheckBox> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:BoundField HeaderText="Enrollment No." DataField="enrollment_no" /> 
<asp:BoundField HeaderText="Course Name" DataField="course_name"/> 
<asp:BoundField HeaderText="Branch Name" DataField="branch_name"/> 
<asp:BoundField HeaderText="Email Id" DataField="email" /> 
<asp:BoundField HeaderText="Mobile" DataField="mobile"/> 
<asp:BoundField HeaderText="Name" DataField="first_name"/> 
<asp:BoundField HeaderText="Surname" DataField="last_name" /> 
</Columns> 


</asp:GridView> 
+0

comment dois-je conserver stat de case à cocher de chaque colonne nevigation qui est pager – NoviceToDotNet

+0

Vérifiez cela sur http://www.aspsnippets.com/Articles/Preserving-state-of-Checkboxes-while-paging-in-ASP.Net-GridView-Control.aspx – Moe

Répondre

0

Viewstate est destiné à postbacks à la même page.

Pour préserver l'état lors de la navigation vers d'autres pages ici 3 options:

  1. Mettez votre case à cocher (ou tout simplement vrai/faux) dans la session
  2. Utilisez la propriété PagePrécédente
  3. Ou utiliser des cookies

Résumé de l'option # 2

Si vous avez ot pages post accross, cookies peuvent être utilisés, et également traverser page Affichage en définissant la propriété PostBackUrl d'un bouton, puis la requête POST est dirigé sur la page spéciale, et vous pouvez obtenir le valeurs de la propriété PreviousPage de la page suivante.

Exemple d'utilisation de l'option n ° 3, la session:

//Set 
Session["mySessionVariableName"] = myCheckBox; 

//Get 
CheckBox myCheckBox = (CheckBox)Session["mySessionVariableName"]; 

Je résume plus en détail here et here

+0

Je veux juste le faire pour une seule page , mais il est à propos de la grille vue donc ho w puis-je faire une boucle pour toutes les lignes et trouver toutes les cases à cocher cochées et stocker dans l'état d'affichage et lier à nouveau pour cocher les cases sur la pagination pour conserver toutes les cases à cocher – NoviceToDotNet

+0

s'il vous plaît me coder Vue de la grille de la ligne dans l'état de la vue et sur quel événement dois-je réaffecter l'état de chaque case à cocher. – NoviceToDotNet

+0

Avez-vous essayé d'ajouter EnableViewState, comme ceci: " – GenEric35