AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls fluent livebindings, No list control editor available for TstringGrid
Thema durchsuchen
Ansicht
Themen-Optionen

fluent livebindings, No list control editor available for TstringGrid

Ein Thema von bernhard_LA · begonnen am 12. Nov 2020 · letzter Beitrag vom 18. Nov 2020
Antwort Antwort
Seite 1 von 2  1 2      
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 09:37
wir verwenden die library uses LiveBindings.Fluent, bei einigen Projekten funktioniert die Livebindings via code sehr gut.
Leider gibt es aktuell ein Projekt mit dieser unit :

Fehlermeldung :

Error in , No list control editor available for TstringGrid
der code geht wie folgt :

Delphi-Quellcode:
uses
  LiveBindings.Fluent,
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  .....




var
    BindSourceDB1: TBindSourceDB;
    BindingsList1: TBindingsList;



procedure TForm.FormCreate(Sender: TObject);
begin
  ....

  BindSourceDB1 := TBindSourceDB.Create(self);

  BindSourceDB1.DataSet := FDQuery1;

  BindingsList1 := TBindingsList.Create(self)


end;


procedure TForm.ActivateLiveBindings(Sender: TObject);

begin
    .....
    BindingsList1.BindGrid(strngrd1).DefaultColumnWidth(256)
    .ToBindSource(BindSourceDB1);


Kennt ihr diese Fehlermeldung auch ???? ....... und auch eine Lösung ?
Miniaturansicht angehängter Grafiken
3a17cf13-6659-4a99-80fa-b3877138551f.png  

Geändert von bernhard_LA (12. Nov 2020 um 09:49 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 09:56
Da scheint der glue code für ein StringGrid in der Implementierung zu fehlen.
Markus Kinzler
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 10:38
was ist der glue code ?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 14:20
https://de.wikipedia.org/wiki/Glue_Code
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 14:47
Bitte die Kommentare beachten!

Delphi-Quellcode:
unit Unit1;

interface

uses
  System.SysUtils,
  System.Classes,
  System.Rtti,
  FMX.Grid, FMX.Types, FMX.Forms, FMX.Grid.Style, Fmx.Bind.DBEngExt, FMX.Controls, FMX.Controls.Presentation,
  FMX.ScrollBox,
  Data.Bind.Components, Data.Bind.DBScope, Data.Bind.EngExt,
  LiveBindings.Fluent,
  Fmx.Bind.Editors; // <------ muss mit drin sein, da hier
  // im initialization Teil mit RegisterBindEditorFactory() u.a. TBindStringGridEditorFactory angemeldet wird

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    BindSourceDB1: TBindSourceDB;
    BindingsList1: TBindingsList;
    Grid1: TGrid;
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // ToBindSource auskommentiert, da kommen da merkwürdige "Evalution mit Self" Fehler.
  BindingsList1.BindGrid(StringGrid1).DefaultColumnWidth(256){.ToBindSource(BindSourceDB1)};
end;

end.
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 12. Nov 2020, 23:49
der Tipp mit der fehlenden unit hat das Problem gelöst


jetzt compiliert zwar die Anwendung, es wollen sich aber keine Daten im Stringgrid zeigen
in anderen Programmen hatten wir mit unserer Codesequenz schon Erfolg ... woran könnte es jetzt liegen wenn wir keine Daten sehen


Delphi-Quellcode:

  QueryString := 'select * from ' + table;

  FQuery.active := false;
  FQuery.SQL.Clear;
  FQuery.SQL.add ( QueryString ) ;
  FQuery.Open;


  rec_count := getRecordCount (FConnection, table, ... ) ;
  mmo.Lines.Add(' record count ' + IntToStr(rec_count) ); /// passt in der query sind datensätze vorhanden :-)

 bndsrcdb1.Dataset:= FQuery;
  // BindingsList.BindGrid(strGrid_ImgSampleResults).ToBindSource(BindSourceDB1);
  bndngslst1.BindGrid(strGrid_ImgSampleResults).DefaultColumnWidth(256)
    .ToBindSource(bndsrcdb1);
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 13. Nov 2020, 08:55
Ich würde jetzt mal Debuggen in den Raum werfen?
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 13. Nov 2020, 13:03
in dieser Testanwendung werden die Daten fehlerfrei angezeigt
gibt es noch mehr glue code bei dem Thema livebinding ?

wie kann ich eine fehlende - nicht eingebunden Unit debuggen ?




Delphi-Quellcode:
  uses
  LiveBindings.Fluent,
  ...... ( einige eigene Units , TUserQuery )
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants,

  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
  FMX.Controls.Presentation, FMX.Edit, System.IOUtils,
  System.Rtti, FMX.Grid.Style, Data.Bind.EngExt,
  FMX.Bind.DBEngExt, FMX.Bind.Grid, System.Bindings.Outputs, FMX.Bind.Editors,
  Data.Bind.Components, Data.Bind.Grid, Data.Bind.DBScope, FMX.ScrollBox,
  FMX.Grid, FMX.Layouts, FMX.ListBox, Data.Bind.Controls, FMX.Bind.Navigator,
  FMX.EditBox,
  FMX.SpinBox, FMX.TabControl, FMX.Objects, FMX.Memo, FMX.ExtCtrls,
  FMX.Memo.Types;

type
  TForm2 = class(TForm)
    strngrd1: TStringGrid;
    strngrd2: TStringGrid;
    bndnvgtr1: TBindNavigator;
    bndnvgtr2: TBindNavigator;
    bndsrcdb1: TBindSourceDB;
    bndngslst1: TBindingsList;
    bndsrcdb2: TBindSourceDB;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }

    FServer: String;
    FDatabase: string;
    Ftab1: string;
    Ftab2: string;

    FConnection: TUserConnection;

    query_1: TUserquery;
    query_2: TUserquery;
    query_3: TUserquery;
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm2.FormCreate(Sender: TObject);
begin

  FConnection := TUserConnection.Create(nil);

  query_1 := TUserquery.Create(nil);
  query_1.connection := FConnection;
  query_2 := TUserquery.Create(nil);
  query_2.connection := FConnection;


  query_3 := TUserquery.Create(nil);

  FServer := '????????';
  FDatabase := '??????????';

  Ftab1 := '???????';
  Ftab2 := '???????';

  bndsrcdb1.DataSet := query_1;
  bndsrcdb2.DataSet := query_2;

  ConnectToDatabase(FServer, FDatabase, FConnection);

  query_1.sql.add('select * from ' + Ftab1);
  query_1.Open;

  query_2.sql.add('select * from ' + Ftab2);
  query_2.Open;

  bndngslst1.BindGrid(strngrd1).DefaultColumnWidth(256).ToBindSource(bndsrcdb1);

  bndngslst1.BindGrid(strngrd2).DefaultColumnWidth(256).ToBindSource(bndsrcdb2);

  bndnvgtr1.DataSource := bndsrcdb1;

  bndnvgtr2.DataSource := bndsrcdb2;

end;

end.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 13. Nov 2020, 13:31
Option 1:
Alle Units von den beiden uses-Klauseln von funktionierender Testanwendung 1 in die nicht-funktionierende Testanwendung 2 kopieren und ausprobieren.

Folgendes mit Debug-DCU in den Projektoptionen aktiviern:

Option 2:
In funktionierender Testanwendung 1 in der Unit Fmx.Bind.Editors debuggen, indem man Breakpoints auf TBindListStringGridEditor.CanSetCurrentValue, TBindListStringGridEditor.SetItemIndex, TBindListStringGridEditor.SetSelectedText, TBindListStringGridEditor.GetSelectedText, usw. setzt.
Funktionierende Testanwendung 1 laufen lassen und den Callstack lesen und verstehen.

Das gleiche Spiel für nicht-funktionierende Testanwendung 2 machen und schauen, wo es genau scheitert.
Wahrscheinlich werden die Methoden vom TBindListStringGridEditor gar nicht angesprochen?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: fluent livebindings, No list control editor available for TstringGrid

  Alt 17. Nov 2020, 10:46
Wie ist das hier ausgegangen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz