![]() |
Datenbank: firebird • Version: 1.5 • Zugriff über: zeos
Datensätze markieren?
Hallo allerseits,
ich habe aus einem Virtual String Tree eine datensensitive Tabellen(Grid) Komponente gebastelt. Das funktioniert auch alles wunderbar. Nun will ich das man bestimmte Datensätze in der Tabelle mit mit einer Checkbox markieren kann, so dass das Dataset anschließen durchgegangen werden kann und die markierten Datensätze verarbeitet werden können. Meine Frage ist also: Wie markiert man einzelne Datensätze in einem TDataset so, daß man sie auch ausserhalb der Komponente (wo sie markiert werden) als markierte Datensätze erkennen kann? Viele Grüsse, meriones |
Re: Datensätze markieren?
Setze Bookmarks
|
Re: Datensätze markieren?
Danke für die Antwort,
das mit den Bookmarks hab ich mir fast schon gedacht aber weiss nicht wie man sie benutzt. Ich muss also innerhalb meiner Komponente, beim OnCheck event (von der Checkbox) ein Bookmark auf den entsprechenden Datensatz setzen? So wie ich das verstanden habe müsste das so irgendwie funktionieren:
Delphi-Quellcode:
Der Datensatz währe dann über:
//deklaration:
var MyBookmark: TBookmark; //im OnCheck event: MyBookmark:=FDataLink.DataSet.GetBookmark;
Delphi-Quellcode:
wieder zu erreichen?
FDataLink.DataSet.GotoBookmark(MyBookmark);
Allerdings nur innerhalb der Komponente, da MyBookmark ja ein Objekt der Komponente ist, oder? Wenn ich jetzt auf das Dataset mit einer anderen Komponente zugreife (z.B. ein anderes Grid), wie komme ich dann an die Bookmark infos rann? MyBookmark ist ja nicht verfügbar, weil die erste Komponente z.B. auf einer anderen Form liegen könnte? Kann mir das jemand erklären?? :?: Viele Grüsse, meriones |
Re: Datensätze markieren?
Es kommt darauf an, wo und wie du die liste der Lesezeichen speicherst
|
Re: Datensätze markieren?
Hallo,
du könntest die einzelnen Ids (Primärschlüssel) der Datensätze in eine TList schreiben und beim Update dann einfach durchlaufen. Heiko |
Re: Datensätze markieren?
Danke nochmal für die Hilfen...
Das heißt ich muss eine gesonderte BookmarkListe mit mir rumschleppen ich kann die Datensätze nicht direkt im Dataset markieren? Dann muss ich ja jeder Unit und Komponente die die markierten Datensätze verarbeiten soll immer das Dataset und die Bookmarkliste mitgeben :( Tschö, Meriones |
Re: Datensätze markieren?
Hallo,
die Bookmarks werden eigentlich von deiner datensensitiven Komponente verwaltet und nicht "gesondert". Später übergibst du eine Referenz auf dein Grid - so kann jede Routine sich über DeinVirtualGrid.DataSource.DataSet die Datenmenge besorgen und analog zu DBGrid.SelectedRows sind dann die Bookmarks verfügbar. Auf diese Weise werden genau die Referenzen übergeben, die auch zusammen gehören. Grüße vom marabu |
Re: Datensätze markieren?
Hallo Marabu,
Danke nochmal für deine Erklärung, ich hab glaube ich langsam kapiert das ich um eine Bookmarksliste in der Komponente nicht drumherum komme. Aber: Zitat:
Trotzdem vielen Dank, meriones |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz