Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   fluent livebindings , bind edit @ run time (https://www.delphipraxis.net/205654-fluent-livebindings-bind-edit-%40-run-time.html)

bernhard_LA 1. Okt 2020 23:51

Datenbank: MSSQL • Version: 12 • Zugriff über: FIREDAC

fluent livebindings , bind edit @ run time
 
ich bin gerade am testen von FMX , Datenbank Zugriff & Live Bindings ,

ich habe hier ein Test Projekt erstellt um mit Fluent Livebindings zu arbeiten :

https://github.com/ImageProcessingFM...t_LiveBindings

Mein Problem : Ich kann den Field Count , als auch die Feldnamen in meiner Query nicht zur Laufzeit ermitteln, warum ?
Das Binding eines Edits würde funktionenieren wenn ich den Feldnamen als String "fest" eintrage



Delphi-Quellcode:
procedure TForm_dbtest.btn_BindEditClick(Sender: TObject);
var QueryfieldName : String ;
     FieldCount : Integer ;
begin

  FieldCount := FDQuery1.DataSource.DataSet.FieldCount; //  Run time error ...

  QueryfieldName := FDQuery1.DataSource.DataSet.FieldList.Fields[1]
    .FieldName ;

  BindingsList1.BindComponent(edt_field)
    .ToField(BindSourceDB1, QueryfieldName );
end;

himitsu 2. Okt 2020 01:43

AW: fluent livebindings , bind edit @ run time
 
Gibt es bei dir überhaupt eine DataSource?

Und ist das FDQuery1 nicht bereits ein das DataSet?


Delphi-Quellcode:
FieldCount := FDQuery1.FieldCount;
QueryfieldName := FDQuery1.FieldList.Fields[1].FieldName;
QueryfieldName := FDQuery1.FieldList[1].FieldName; // denn Fields müsste das Default-ArrayProperty sein
QueryfieldName := FDQuery1.Fields[1].FieldName; // bzw. muß man überhaupt über FieldList gehen und kann das andere Fields nicht direkt nutzen?
BindingsList1.BindComponent(edt_field).ToField(BindSourceDB1, QueryfieldName);



BindingsList1.BindComponent(edt_field).ToField(BindSourceDB1, FDQuery1.Fields[1].FieldName);

bernhard_LA 2. Okt 2020 12:15

AW: fluent livebindings , bind edit @ run time
 
Danke , 1 Schritt weiter


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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