AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Livebinding einer FMX TListView an TStrings

Ein Thema von QuickAndDirty · begonnen am 20. Mai 2015 · letzter Beitrag vom 22. Mai 2015
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 14:00
Da Du in dem Thread nichts geschrieben hast (ob gelesen weiß ich ja nicht), will ich mal auf mein ssFramework verweisen (http://www.delphipraxis.net/173360-s...framework.html).
Ich arbeite da nicht mehr weiter dran, aber vielleicht geht das in Deine gewünschte Richtung?

Das Ziel war eine einfachste Bindung der GUI an die BL und eine Automatisierung der Datenklassen.

Falls Du zeit zum schmökern hast...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#2

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 14:50
Danke Stahli

Aber gibt es im ganzen Forum niemandes der mal versucht hat etwas anderes als ein Clientdataset in einem FMX Formular mit livebinding zu verknüpfen?

Es muss doch jemand geben der mir sagen kann ob das Binden von TStrings überhaupt möglich ist.

Im Moment fühle ich mich einfach wie der Entdecker der Antarktis...alles leer keine Spuren im Schnee...
Das kann doch nicht sein.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (20. Mai 2015 um 14:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 15:09
Nun die Frage ist, warum du überhaupt eine StringList da binden willst.

Eigentlich wird über das LB an ein ListControl eine Liste mit Objekten gebunden und eben keine StringList.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#4

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 15:22
Nun die Frage ist, warum du überhaupt eine StringList da binden willst.

Eigentlich wird über das LB an ein ListControl eine Liste mit Objekten gebunden und eben keine StringList.
Währe also TObjectList<TMyFunObject> plus TAdapterBindSource plus TDatageneratorAdapter richtig?

Und das TStrings nicht gehen dürfen ist für dich offensichtlich?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (20. Mai 2015 um 15:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 15:25
Mußte man der BindingSource nicht eh ein TList<T> reingeben?
Da geht TString/TStringList natürlich nicht (TList<string> ist ja was Anderes)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 15:35
Nun die Frage ist, warum du überhaupt eine StringList da binden willst.

Eigentlich wird über das LB an ein ListControl eine Liste mit Objekten gebunden und eben keine StringList.
Währe also TObjectList<TMyFunObject> plus TBindadapterBindSource plus TDatageneratorAdapter richtig?

Und das TStrings nicht gehen dürfen ist für dich offensichtlich?
Für schnell gemacht kannst du ein TPrototypeBindSource auf die Form klatschen und im TPrototypeBindSource.OnCreateAdapter
Delphi-Quellcode:
procedure TForm1.PrototypeBindSource1CreateAdapter( Sender: TObject; var ABindSourceAdapter: TBindSourceAdapter );
begin
  FItems := TObjectList<TListViewItemViewModel>.Create;
  ABindSourceAdapter := TListBindSourceAdapter<TListViewItemViewModel>.Create( Self, FItems, True );
end;
In dem TPrototypeBindSource kannst/musst du noch die Felder definieren, die dann auf die Objekt-Eigenschaften der Objekte in der Liste gemappt werden ...

Selbst wenn das mit der StringList gehen würde, würde ich das nicht nehmen wollen, denn dann müsste ich ja von dem String wieder auf den Kontext kommen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#7

AW: Livebinding einer FMX TListView an TStrings

  Alt 20. Mai 2015, 15:53
OK, Ich versuche das mal.
Sind meine ersten MVVM, livebinding und FMX Gehversuche.

Werde Jubel posten wenn es klappt.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (20. Mai 2015 um 15:59 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#8

AW: Livebinding einer FMX TListView an TStrings

  Alt 21. Mai 2015, 12:38
Was kann man machen, wenn das Binding erfolgt bevor die Quelle erzeugt wurde?
Ich möchte nicht das die View die DatenObjecte des ViewModells besitzt.

Zur Zeit erstelle ich in der View das ViewModel und im ViewModel das Model.

Sollte ich das lieber von "außen" erstellen und verdrahten?


Ich habe es jetzt wie folgt gelöst.
Delphi-Quellcode:
constructor TView.Create(AOwner: TComponent);
begin
  fViewModel := TViewModel.create;
  inherited;
end;
Müsste sicher sein da das ViewModel ja eh nichts vom View weiß.

UND wenn das ok ist dann

HEUREKA. Das Livebinding klappt.

Natürlich bleibt ein Wehrmutstropfen:
An sich sollte ich ja im ViewModel keine Rücksicht nehmen müssen was für typen FMX binden kann und welche nicht. Schließlich möchte ich das ViewModel im zweifel an ein Audio basiertes View koppeln können usw. da sollte die art der View dem ViewModel doch eigentlich egal sein. So muss ich Rücksicht nehmen auf die Komponenten die auf der View liegen ob wohl sie im ViewModel offiziell gar nicht bekannt sind...
Kann auch sein das ich die Idee von MVVM falsch verstehe. Ich dachte hier ginge die Entkopplung wesentlich weiter als bei MVP...
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (21. Mai 2015 um 13:04 Uhr)
  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 17: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-2025 by Thomas Breitkreuz