Enregistrements sélectionnés dans une dbgrid

Signaler
Messages postés
63
Date d'inscription
lundi 29 avril 2002
Statut
Membre
Dernière intervention
7 mars 2005
-
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
-
Mon but est de sélectionner certains enregistrements (ou tous) dans une DBGrid (options rowselect et multiselect à true).

En fonction des enregistrements qui sont sélectionnés, je dois récupérer les données correspondantes, à partir d'un dataset.

Comment déterminer les enregistrements qui sont sélectionnés, et ceux qui ne le sont pas ?

Comment puis-je m'en servir pour les exporter après dans un fichier texte ?

1 réponse

Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Il existe une propriété de la grille qui permet d'avoir la liste des lignes sélectionnées. Si la grille est liée à un TTable tu peux faire quelque chose de la sorte :
procedure TForm1.Button1Click(Sender: TObject);
Var Chaine:ShortString;
i:Integer;
begin
With Table1 Do With DBGrid1.SelectedRows Do
Begin
// Pour tous les éléments selectionnés
For i:=1 To Count Do
Begin
// Aller sur la ligne voulue
Chaine:=Items[i-1];
GotoBookMark(@Chaine[1]);
// Juste un show message, mais tu peut faire ici ce que tu veux
ShowMessage(FieldByName('B').AsString);
End;
End;
end;

Il est vrai que l'utilisation des BookMark n'est pas bien décrite dans l'aide en ligne.

--- :sleepy) Nono du Moulin :sleepy) ---