Est-il possible de copier une sélection de lignes à partir d'un TDBGrid dans Delphi 2007 dans le presse-papiers facilement?Copie de parties d'un tdbgrid dans le presse-papier?
2
A
Répondre
5
Cette méthode est de notre unité de bibliothèque interne ..
procedure BuildListFromDBGrid(DBGrid: TDBGrid; const FieldName: String; Strings :TStrings);
var
i: Integer;
begin
Strings.Clear();
with DBGrid do
begin
Strings.BeginUpdate(); // If assocated with a UI control (Listbox, etc), this will prevent any flickering
DataSource.DataSet.DisableControls();
try
for i := 0 to (SelectedRows.Count - 1) do
begin
Datasource.DataSet.GotoBookmark(Pointer(SelectedRows[i]));
Strings.Add(DataSource.DataSet.FieldByName(FieldName).AsString);
end;
finally
DataSource.DataSet.EnableControls();
Strings.EndUpdate();
end;
end;
end;
Pour obtenir la liste des éléments sélectionnés dans le presse-papiers, ajouter Clipbrd à votre clause uses et appeler la procédure ..
var
SelectedItems :TStringList;
begin
SelectedItems := TStringList.Create();
try
BuildListFromDBGrid(MyDBGrid, 'InvoiceID', SelectedItems);
Clipboard.AsText := SelectedItems.Text;
finally
SelectedItems.Free();
end;
end;
Bien sûr, vous pouvez modifier la méthode ci-dessus ou en créer une nouvelle qui ajoute directement les éléments sélectionnés dans le presse-papiers (ex, plusieurs champs, dans un format spécialisé, etc)
Questions connexes
- 1. TDBGrid onSelect
- 2. Comptage des lignes dans un TDbGrid
- 3. pascal gratuit, tdbgrid, ligne actuelle
- 4. Comment obtenir des cellules sélectionnées de TDBGrid dans Delphi 5
- 5. Comment afficher du texte enrichi dans un TDBGrid?
- 6. Ant fichier de copie dans le répertoire de la feuille
- 7. parties de connexion web dans sharepoint
- 8. Y a-t-il un meilleur multi-select que le TDBGrid par défaut dans Delphi?
- 9. Commande de copie vim dans le presse-papiers/tampon
- 10. Copie d'une liaison de données dans le code?
- 11. ArrayList sans le surcoût de copie?
- 12. parties de chaîne en gras
- 13. Suppression de parties d'une cellule
- 14. Copie beaucoup de fichiers dans Delphi
- 15. Commettre parties spécifiques d'un fichier dans Git
- 16. Ant - copie uniquement le fichier not directory
- 17. WAMP + RewriteRule: copie du site dans le sous-dossier
- 18. Connexion entre les parties Web dans SharePoint
- 19. Où sortir copie dans setter?
- 20. Copie de la DLL de l'assembly pour le déploiement
- 21. Copie modifiée
- 22. Sécurisation de certaines parties d'une application
- 23. Menu contextuel de copie pour le contrôle ListView
- 24. Lecture de parties d'une ligne (getline())
- 25. Copie DataTable
- 26. C# extraction de certaines parties d'une chaîne
- 27. Comment automatiser le fichier de copie avec le chemin des problèmes trop profonds dans Windows?
- 28. Copie dirigée de manière asynchrone
- 29. Python ctypes: le contenu de la copie Structure
- 30. bâtiment parties de forme dynamique utilisant jQuery
C'est pratique - merci! Mais n'obtient-il pas efficacement une «colonne» de la grille plutôt qu'une «rangée»? Quand j'ai regardé la question originale, j'ai décidé qu'il devrait avoir une sorte de moyen de stocker des paires nom/valeur dans le presse-papiers. – robsoft