Bonjour,
Pour faciliter la navigation dans une looongue liste (affichée dans un DBGrid donc) j'ai mis en place un accès rapide : un clic sur une lettre, un Locate dans le Dataset et il se positionne sur le 1er enregistrement commençant par la lettre choisie.
Ce que je voudrais maintenant c'est afficher cet enregistrement en haut de la liste (et ainsi voir les suivants), car par défaut il se positionne tout en bas.
J'ai essayé un peu à base de :
..mais ça provoque une violation d'accès "dans le module uxtheme.dll".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if DataSet.Locate(myField, LetterToLocate, [loCaseInsensitive, loPartialKey]) then myDBGrid.Perform(WM_SYSCOMMAND, SC_VSCROLL, 0);
L'idéal serait de faire un scroll en connaissant le nombre de lignes affichées et la hauteur de chacune, mais sans aller jusque là un scroll sur un nombre de lignes arbitraire serait déjà très bien !
Des pistes svp ?
Partager