AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Eindeutiger Bezeichner bei Livebindings zuordnen
Thema durchsuchen
Ansicht
Themen-Optionen

Eindeutiger Bezeichner bei Livebindings zuordnen

Ein Thema von Catbytes · begonnen am 23. Okt 2014 · letzter Beitrag vom 24. Okt 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.401 Beiträge
 
Delphi 12 Athens
 
#1

AW: Eindeutiger Bezeichner bei Livebindings zuordnen

  Alt 24. Okt 2014, 14:36
Eigentlich sollen die LiveBindings auch unidirektional sein können.
Hier http://www.delphipraxis.net/181829-l...bjectlist.html werden die Daten ja auch wieder zurück in ie Objekte geschrieben, wenn man sie im Grid ändert.

Ich glaube, ich stehe grad mächtig
Wie bei einer LookupComboBox.

Es gibt den das Lookupfeld, welches den internen Wert (z.B. die ID) enthält
und es gibt ein Textfeld, welches den Anzeigewert (deinen Text) enthält.

Die Frage nach "Oder: kann man Bindbare Memeber auch selbst definieren?" steht noch. Da habe ich bisher noch nichts gefunden.
Theoretisch ja, aber hab dazu auch noch keine verständlichen Informationen entdeckt. (hatte gerstern mal nachgesehn, ob es möglich wäre das fehlende LiveBinding für den TreeView nachzurüsten)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Okt 2014 um 14:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#2

AW: Eindeutiger Bezeichner bei Livebindings zuordnen

  Alt 24. Okt 2014, 17:44
Hallo,

habe es jetzt so gelöst, wie im Link unten:

Meine note_id mit ListView1.ItemLookupData per Livebindings verbunden.

Beim OnClick-Event dann zum aufrufen und prüfen z.B.

Delphi-Quellcode:
procedure TForm1.ListView1ItemClick(const Sender: TObject;
  const AItem: TListViewItem);
var
  N_ID_Str: string;
begin
  N_ID_Str := LinkFillControlToField1.BindList.GetSelectedValue.AsString;
  showmessage(N_ID_Str);
end;
Mit AsInteger kommt eine Exception, obwohl note_id ein Integer ist.

Die Tabelle wurde so aufgebaut:

Code:
CREATE TABLE `notes` (
   `note_id`   INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
   `description`   VARCHAR,
   `group_id`   INTEGER,
   `note`   TEXT
);
Falls jemand eine elegantere Lösung findet, bitte hier posten. Ansonsten ist das 'ne schnelle Lösung für das Problem. Nicht schön, aber selten^^

Original-Lösung/Post: https://forums.codegear.com/thread.j...4999&tstart=-1

Interessant ist, daß im Original-Post der Benutzer "Eli M" vorschlägt, daß ganze per "Tag" zu erledigen. Das Problem ist eben, daß das angebotene Tag beim Livebinding das von der ListView an sich ist und eben nicht von Item.Tag -> genau das fehlt. Warum, weiß wohl nur Embarcadero...
Catbytes
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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