Detecter la fin de liste d'un DataGrid
Citation:
Envoyé par Asdorve
salut,
pour alimenter le datagrid, tu dois utiliser un recordset.
En faisant une boucle Do While, tu pourras lire l'intégralité du recordset
Code:
1 2 3 4 5 6
|
Do While recordset.EOF
...
recordset.MoveNext
Loop |
Merci pour ta prompte réponse
Mais ce que je veux c'est savoir quand on atteint la fin de liste dans un objet DataGrid (lors des événements rowcolchange ou scroll).
En fait mon problème c'est que je veux afficher les données du DataGrid par plage (par exemple 50), et afficher la plage suivante lorsque l'utilisateur navigue jusqu'à la fin de la première plage.
recupérer les données d'une table par pages
Citation:
Envoyé par Asdorve
Je ne sais pas si on peut faire ça avec un datagrid...
Si oui, est-ce que quelqu'un sait le faire?
Sinon, je verrais bien un truc du genre:
1- On récupère le nombre d'enregistrements (recordset.recordCount)
2- On divise en plage de 50
3-Grace à la boucle que je t'ai donné, on affiche dans une zone les 50 premières boucles
4-Si l'utilisateur veut passer à la plage suivante, on reprend la boucle et dès que l'on arrive au 51ème passage, on recommence à afficher les 50 suivants.
Je sais, c'est bourrin, :aie:
SI QUELQU'UN A MIEUX...
le DataGrid permet de faire ça (puisqu'il n'affiche qu'une partie du recordset: DataGrid.visiblerows).
J ai une table qui contient 1 000 000+ d'enregistrements (susceptibles d'augmenter). plus les données augmentent, plus l'affichage risque de prendre du temps.
Ce que je voudrais faire, c'est utiliser une requête avec une clause ORDER BY et une clause LIMIT, pour limiter les données renvoyées par le recordset à 100 par exemple (SELECT .... ORDER BY ... LIMIT 100 OFFSET 1). et lier le recordset à un DataGrid.
Quant l'utilisateur va naviguer jusqu'à la fin des éléments du DataGrid, je relance ma requête, mais cette fois ci sur les 100 prochains enregistrements (SELECT ..... ORDER BY ... LIMIT 100 OFFSET 100).
Merci pour ton aide