2009-09-16 6 views
0

J'ai une table de données qui est remplie par une procédure stockée. J'ai besoin de filtrer certains résultats, donc j'obtiens une vue de données de la vue par défaut et lui applique un filtre de ligne. Je lie ensuite ceci à mon DataGrid. Tout va bien à ce stade. Je vois deux pages (17 enregistrements avec 10 par page). Si j'applique un tri à la grille, il affiche maintenant 5 pages (58 enregistrements sans le filtre). J'ai traversé le code et il repeuple les données avant d'exécuter le tri. Le repeuplement est avec le filtre en place et il compte 17 enregistrements, mais montre 5 pages. Pour le rendre encore plus bizarre, si je clique sur une page que je sais ne sera pas valide, il exécute le changement de page (qui repeuple également les données) et cette fois il limite les pages à 2 et me dit que j'ai un invalide numéro de page!Problème de pagination impaire avec DataGrid et tri

Des idées?

Répondre

0

Veillez à appliquer le tri à la vue par défaut et non directement à la colonne de la grille.

+0

Je l'ai fait. Je pense que cela pourrait être lié à une version personnalisée du DataGrid que nous avons en interne. nous avons quelque chose appelé un AutoDataSet et le sort l'exécute. Il utilise l'ensemble de données dans lequel ma base de données est créée. –

1

Il s'agissait du contrôle personnalisé à l'origine du problème. Nous avons une fonction AutoDataSource qui extrait automatiquement les tableaux de données de ma vue et les trie. J'ai trouvé une fonction de filtre dans ma grille qui applique le filtre, mais seulement si elle est appliquée avant de définir la source de données

Questions connexes