2009-09-28 10 views
0

gridview a 20 pages. L'utilisateur voit la première page gridview. Il décide d'appliquer le style highlite en utilisant jquery sur quelques lignes. Maintenant, il passe à la deuxième page. Il applique le style à cette page aussi. Maintenant, quand il retourne à la première page, il ne peut pas voir la ligne avec le style qu'il applique avant de passer à la page 2.Le stockage d'état dans GridView

Comment stocker l'état du style de lignes lorsque l'utilisateur se déplace sur des pages? Perdon mon anglais

Répondre

0

Je voudrais enregistrer les identifiants de ligne en surbrillance dans un champ caché. La recherche provoque un retour! Aussi, vous avez besoin d'un code javascript pour re-mettre en évidence les champs.

+0

s'il vous plaît donner un échantillon pour voir –

+0

Désolé, je n'ai aucun échantillon pour cette tâche. Mais quel est votre travail: Vous avez enregistré un événement pour mettre en évidence une ligne. Super - ajoutez l'identifiant de la ligne à un champ caché. Ensuite, ajoutez du code javascript de démarrage qui met en évidence vos lignes (vous avez ce code) en fonction de la valeur des champs cachés. – Arthur

1

Utilisez un cookie pour stocker les lignes en surbrillance sur une page donnée. Connectez-vous à un événement sur lequel la surbrillance a lieu (cliquez sur?) Et ajoutez un code pour réécrire un cookie avec les lignes sélectionnées. Lorsque vous allez imprimer la table, lisez simplement le cookie et restaurez les sélections en fonction de la valeur qui y est stockée.

0

Si je peux me permettre de rendre la solution moins efficace, je changerais la méthode de surlignage de manière à exécuter côté serveur avec un post-retour au lieu d'utiliser JavaScript, puis mettre le GridView dans un UpdatePanel.

Rappelez-vous également d'utiliser l'objet DataSource (par exemple ObjectDataSource) au lieu de lier vos données manuellement en utilisant .DataBind() dans le code derrière. Cela devrait vous assurer de ne pas relier les données à chaque publication.