AGB  ·  Datenschutz  ·  Impressum  







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

Orpheus-Grid: Checkbox immer leer

Ein Thema von Mike_on_Tour · begonnen am 21. Okt 2010 · letzter Beitrag vom 2. Nov 2010
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Orpheus-Grid: Checkbox immer leer

  Alt 21. Okt 2010, 10:41
Hallo,
ich habe eine Form mit einem Orpheus-Grid (TOvcTable). Für die Spalten des Grids existieren Definitionen über die Komponenten 'TOvcTCString' und 'TOvcTCCheckBox' mit den jeweiligen Standardwerten. Die Spalten-Definitionen werden dem Grid nicht in der IDE zugewiesen, sondern im Programm dynamisch zur Laufzeit in Abhängigkeit des darzustellenden Datentyps. Das funktioniert auch ganz gut. Über das Grid-Ereignis 'OnGetCellData' wird das Grid mit Daten gefüllt.
Delphi-Quellcode:
procedure GetCellData(...);
var
  sFeld: String;
  bFeld: Boolean;
begin
  { anderer Code } 
  if (Feldtyp <> Bool)
    then
      Data := @sFeld;
    else
      Data := @bFeld;
  { anderer Code } 
end;
Während alle Textfelder korrekt angezeigt werden, sind die Checkboxen immer leer (false). Wie bzw. was muß ich zur Laufzeit noch einstellen oder zuweisen, damit auch die Checkboxen korrekt angezeigt werden ?
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 11:08
Ich habe leider immer noch das Problem, daß die Checkboxen leer sind. Wer arbeitet noch mit den Orpheus-Komponenten und kann mir weiterhelfen ?

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 11:32
Hallo,

schau Dir doch mal das OrpheusDemo extabl02 an und dort die Unit "ExTbl02U.pas". Stichwort: "TCheckboxstate"...sollte Dir weiter helfen.
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 13:43
Hallo,

erst mal Danke für die Antwort. In der Demo wird im Prinzip nichts anderes gemacht, als das was ich schon habe.

Ich habe auf der Form nur die Orpheus-Komponenten für Table, Zeile, Spalte und für Strings und CheckBox platziert, aber nicht untereinander zugewiesen. Das passiert erst zur Laufzeit, u.a. in der Prozedur 'FormActivate'. Hier wird ein Array mit den Spaltennamen durchlaufen und für jede Spalte der zugehörige Datentyp aus einer Liste ermittelt.
Delphi-Quellcode:
procedure TForm.FormActivate;
begin
  // Code gekürzt
  SetGridColumns;
end;

procedure TForm.SetGridColumns;
begin
  // Code gekürzt
  for ixField := 1 to MaxPosArray do begin
    ocFeldTyp := MeldeListe[0].FieldTypeOf(FeldArray[ixField, 2]);
    if (ocFeldTyp <> vftBool)
      then begin
        Table.Columns.DefaultCell[ixField - 1] := TCField_StringLeft;
      end
      else begin
        Table.Columns.DefaultCell[ixField - 1] := TCField_Check;
      end;
  end;
end;
In der Prozedur 'GetCellData' soll dann das Grid gefüllt werden (Code gekürzt):
Delphi-Quellcode:
procedure TForm1.TableGetCellData(...);
begin
  // Code gekürzt
  Data := nil;
  if ((RowNum > 0) and (RowNum <= Table.RowLimit))
    then begin
      bFeldState := false;
      sFeldName := FeldArray[ColNum + 1, 2];
      ocFeldTyp := pMeldung.FieldTypeOf(sFeldName);
      if (ocFeldTyp <> vftBool)
        then begin
          sFeldText := pMeldung.getString(sFeldName);
          Data := @sFeldText;
        end
        else begin
          bFeldState := pMeldung.getBoolean(sFeldName);
          Data := @bFeldState;
        end;
    end;
end;
Die Strings werden auch korrekt angezeigt, nur die Checkboxen bleiben eben leer und repräsentieren damit immer einen False-Wert. Muß ich vielleicht noch einen Bezug über TCheckBoxState herstellen ?

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 15:05
ich kanns leider gerade nicht probieren..aber nutze mal "testhalber" nicht FormActivate sondern "FormShow". ich bleibe dran..teste es morgen mal! Habe aber Orpheus nur unter D7!
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 15:57
Der Aufruf in 'FormShow' hat keine Änderung bewirkt.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Orpheus-Grid: Checkbox immer leer

  Alt 1. Nov 2010, 16:10
Der Aufruf in 'FormShow' hat keine Änderung bewirkt.

OK, ich probiere es Morgen !!
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Orpheus-Grid: Checkbox immer leer

  Alt 2. Nov 2010, 07:13
Morgen,

so, habs mal getestet. Bei der Felddefinition musst Du "TCheckBoxState" nehmen und auch zum setzen des Feldes RecordFeld1:=TCheckboxstate(DeinFeld); So geht es bei mir.
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Orpheus-Grid: Checkbox immer leer

  Alt 2. Nov 2010, 08:43
Guten Morgen,

bei mir geht es jetzt auch. Besten Dank für die Hilfe.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  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 19:03 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