2012-07-13 4 views
0

Je fais lier un GridView à une source de données d'objet. J'ai paginé et trié sur ma grille, ce que j'ai fait en utilisant LINQ2SQL. Le problème auquel je suis confronté maintenant est, que si un utilisateur recherche quelque chose et clique sur la recherche, le gridview sera lié avec 8 pages. Maintenant, si un utilisateur modifie les filtres de recherche sur la page (en supposant que cette recherche n'aura que 2 pages) et plutôt que de cliquer sur search, il change le numéro de page en 7 pour les enregistrements gridview actuellement liés. Cette action de l'utilisateur liera le gridview mais cette fois dans mon LINQ2SQL j'obtiendrais l'index de rangée de début sur la base de l'index choisi de page, que je veux qu'il soit 0, puisque les filtres de recherche ont changé. Donc, je me demande comment vous pourriez le faire, cacheriez-vous la pagination gridview si un utilisateur change les valeurs du filtre de recherche ou vous réglerez un peu pour vérifier les anciennes valeurs et les nouvelles valeurs du filtre?Problèmes de pagination de GridView

Merci

Edit: quand j'essayer de faire ce qui précède sur la recherche Google, sur l'index de la page changer Google ne sera pas tenir compte de la valeur du champ de recherche en cours, il sera toujours faire la pagination sur les derniers résultats de la recherche binded.

+0

Est-ce que "search" est activé lorsque vous changez de page? –

+0

oui, il est tiré. parce que j'ai la pagination LINQ2SQL personnalisée donc j'appelle le SearchLogic() après qu'un index de page ait changé. –

Répondre

0

J'ai résolu le problème, en définissant les propriétés sur la page, i enregistré les valeurs de filtre de recherche dans viewState et utilisé les mêmes propriétés pour rendre mon formulaire sur Page_PreRender.