![]() |
Datenbank: Paradox • Zugriff über: SQL Query
Button mit unterschiedlichen Records als Caption
Hallo liebe Foren Mitglieder,
ich habe ein kleines Problem, das mir echt Kopfzerbrechen bereitet: Es gibt ja nun diverse DBButton Implementierungen, aber keine, die sich so verhält, wie ich das gerne hätte. Hier ein kleines Beispiel: man nehme eine Tabelle mit dem Feld Artikel. in dieser Tabelle gebe es z.B. 40 verschiedene Records. Nun hätte ich gerne z.B. 10 DBButtons, wobei die Caption des 1.Buttons dem Record1 entspricht, die des 2.Buttons dem 2.Record usw. Wenn ich nun sagen wir den Cursor in der Tabelle auf den 5.Eintrag setzte soll die Caption des 1.Button dem Record5, die Caption des 2.Buttons dem Record6 usw entsprechen. Kennt jemand eine DBButton implementierung, die soetwas kann, und wenn nicht hat jemand eine Idee, wie ich soetwas realisiere? Danke für eure Mühe im voraus |
Re: Button mit unterschiedlichen Records als Caption
Hi,
ich habe noch keine DBButton Implementierungen gesehen. Gib mal irgendein Beispiel um herauszufinden was das sein soll. Grüsse Rainer |
Re: Button mit unterschiedlichen Records als Caption
Wie wäre es, wenn du die Caption eines ganz normalen Buttons einfach selbst setzt, sobald der Benutzer auf die Tabelle klickt?
|
Re: Button mit unterschiedlichen Records als Caption
Moin, Moin noisy_master
TDBButton für VCL? Kenne ich auch nicht. Ein zu erstellen ist mit etwas Aufwand aber möglich, hängt jedoch von einigen Optionen ab: 1. Wissen um die Komonentenentwicklung und OOP. 2. Zugriff auf den Quellcode der Units DB und DBCtrls (zum Nachlesen / schauen). 3. Eifer, Lust und Zeit. Ist das gegeben, stellen sich die nächsten Fragen: 1. Sollen die TDBButton frei auf dem Formular verteilt werden können oder 2. können Sie in einem Container ruhen (DBNavigator). Im ersten Fall benötigt dein TDBButton ein TFieldDataLink, für den zweiten Fall braucht es nur eine Variable zur Koppelung des Feldnamen, da der DataLink in den Container wandert. Falls die Option 2 gegeben ist, schau dir TDBEdit und TDBNavigator an. Gruß |
Re: Button mit unterschiedlichen Records als Caption
Oder einfach ein unsichtbares TDBEdit und ein normaler TButton, welcher dessen .Text z.B. via .OnChange als .Caption anzeigt.
|
Re: Button mit unterschiedlichen Records als Caption
Soetwas selbst zu basteln, sollte doch nicht das Problem sein:
1. Nimm 10 Buttons und schmeiss sie auf das Formular (Name = 'Button1' bis 'Button10') 2. Im OnDataChange-Event der TDataSource folgenden Code:
Delphi-Quellcode:
Getippt und ungetestet.
Procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var CurrentRecNo, i: Integer; button: TButton; begin if (Field = nil) then if DataSource1.Tag = 0 then begin DataSource1.Tag := 1; CurrentRecNo := DataSource1.DataSet.RecNo; DataSource1.DataSet.DisableControls; try for i := 1 to 10 do begin button := FndComponent('Button' + IntToStr(i)); if DataSource1.DataSet.Eof then button.Caption := '-' else begin button.Caption := DataSource1.DataSet['Feldname']; DataSource1.DataSet.Next; end; end; finally DataSource1.Tag := 0; DataSource1.DataSet.RecNo := CurrentRecNo; DataSource1.DataSet.EnableControls; end; end; end; |
Re: Button mit unterschiedlichen Records als Caption
Hallo liebe Foren Mitglieder,
vielen Dank erstmal für eure prompten Antworten. Hier noch einige Kommentare zu euren ANtworten: @R2009: hier gibt er z.B. eine DBButton Komponente : ![]() @guidok : es gibt leider keine Tabelle(Die Daten werden nur im Hintergrund in einer TQuery gehalten. @Alter Mann: siehe @R2009 @himitsu: Mit dem TDBEdit verhält es sich leider genauso, wie mit einem DBButton: es kann immer nur 1 Record angegeben werden und kein"Index" @alzaimar: Das hört sich richtig gut an und ist eine Lösung die wohl funktionieren sollte. Hatte nur gehofft, dass es soetwas "fertig" gibt Danke an ALLE |
Re: Button mit unterschiedlichen Records als Caption
Edith: Absoluter Unfug, am Thema vorbei geschrieben...Sorry :oops:
Sherlock |
Re: Button mit unterschiedlichen Records als Caption
Zitat:
--> Wenn sich wie aus meinem Beispiel 40 Records in der Table befinden möchte ich den n-ten record als Caption von Button1, den n+1-ten record als Caption von Button2 usw haben.... |
Re: Button mit unterschiedlichen Records als Caption
Was ist denn nun wieder der n-te Datensatz? Der aktuelle, oder welcher?
|
Re: Button mit unterschiedlichen Records als Caption
Zitat:
Ich bin ja sehr dankbar, dass einige Leute versuchen meine Frage zu beantworten, aber dazu wäre es hilfreich, die ursprüngliche Fragestellung zu lesen. Sorry, falls das zu "blamig" klingen sollte, aber wenn in Foren immer Antworten kommen, die nicht hilfreich sind die eigentliche Fragestellung zu beantworten finde ich das mehr als anstrengend! |
Re: Button mit unterschiedlichen Records als Caption
Dann sollte man seine Frage auch nicht missverständlich umformulieren. Da ich kein Delphi zur Hand habe, hier nur ein paar Überlegungen:
- um nicht immer wieder mit FindComponent o.ä. hantieren zu müssen, sollten die Buttons in einem Array/einer TObjectList hinterlegt sein. - bevor man die Datenmenge durchgeht, sollte man sich den aktuellen DS merken (Bookmark) und die datensensitiven Controls abhängen (DisableControls) - nun geht man das Array/die Liste durch, setzt die Caption entsprechend der Daten und wechselt zum nächsten DS - sollte man zwischendurch auf EOF treffen, setzt man die Captions der verbleibenden Buttons auf einen Standardwert oder blendet sie aus or whatever - nun geht man zurück zum Bookmark (GotoBookmark) und hängt die Controls wieder an (EnableControls) Auf diese Art und Weise würde ich versuchen, das Problem anzugehen. Denkfehler vorbehalten. |
Re: Button mit unterschiedlichen Records als Caption
Zitat:
DANKE!!! |
Re: Button mit unterschiedlichen Records als Caption
Zitat:
Zitat:
Im Ernst: Eine mißverständlich formulierte Frage zu bemängeln ist eine Sache, aber den Thread noch nicht mal richtig zu lesen, eine andere. Da selbst ich die Frage verstanden habe, kann sie nicht zu komplex formuliert sein. Die ist sogar mit Beispiel. Und da ich in Post #6 eine deinen Ausführungen entsprechende Lösung gepostet habe, könnte es sein, das es für dich heute einfach zu dunkel war. Entweder außen, oder von innen. :cheers: :zwinker: |
Re: Button mit unterschiedlichen Records als Caption
Ich bezog mich doch nur auf
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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 by Thomas Breitkreuz