Bonjour, j'aimerais faire en sorte de pouvoir selectionner plusieur ligne d'un TDBGrid en utilisant le clavier : L'utilisateur doit pouvoir se deplacer avec fleche-haut et bas, et si il veut selectionner un enregistrement, il tape la touche espace.
J'ai implemente OnKeyDown pour qu'il selectionne la ligne avec espace, mais des que je change d'enregistrement, je perds la selection !
Ce que je pensais faire, c'est surcharger la methode scroll de cette maniere :
Et manifestement, c'est pas ca ! J'ai droit au message d'erreur Operation impossible sur un ensemble de donnee ferme !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ... SelectionInitiale:=TBookmarkList.create(MonDBGrid); // Je recupere la selection encours poue la mettre dans une variable : MonDBGrid.DataSource.DataSet.first; while not MonDBGrid.DataSource.DataSet.eof() then SelectionInitiale.CurrentRowSelected:=MonDBGrid.SelectedRow.CurrentRoxSelected; Inherited scroll(...); Je refais la selection pour me retrouver dans la position de depart; ...
Je ne comprends pas comment fonctionne TBookmarkList !:
:
:
Je ne trouve pas de methode pour AJOUTER un element dans la liste ! (A moins que ce soit CurrentRoxSelected !)
Merci de m'avoir lu, et merci pour votre aide.
N.B. : Je travaille avec Delphi 6 Entreprise en CLX (multi-plateforme) sous WinXP.
Partager