Announcement

Collapse
No announcement yet.

Probeleme mit TDBEdit Feld

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probeleme mit TDBEdit Feld

    Hallo,

    ich erstelle einige TDBEdit Felder erst dynamisch zur Laufzeit. Wenn ich dann einen Datensatz aufrufe wird der Inhalt in dem TDBEdit erst angezeigt, wenn ich auf das Editfeld klicke bzw. wenn das TDBEdit Feld den Focus erhält woaran kann das liegen? Ich nutze folgenden Quellcode zum Erzeugen der TDBEdit Felder:

    <PRE>
    procedure feld_erstellen(sField:String;p_left:integer;p_top: integer;MaskSource:TDataSource);
    var l_width:integer;
    begin
    if table_temp.FieldbyName(sField).DataType <> ftBoolean then begin
    //Label erzeugen
    dyn_label:= TLabel.Create(parent_compo);
    with dyn_label do
    begin
    Parent:= parent_compo;
    { Instanzenname generieren }
    Name:= 'label_' + sField;
    { Beschriftung = Feldname }
    Caption:= sField+':';
    { Schriftart für die Feldnamenanzeige }
    //Font.Name:= 'Arial';
    { Abstand vom linken Fensterrand }
    Left:= p_left;
    { Abstand vom Clientbereich }
    Top:= p_top+v_diff;
    end;
    end;
    //Editfeld erzeugen
    if (table_temp.FieldbyName(sField).DataType = ftString) OR (table_temp.FieldbyName(sField).DataType = ftFloat) then begin
    dyn_edit:= TDBEdit.Create(parent_compo);
    with dyn_edit do
    begin
    Parent:= parent_compo;
    { mit dem Feld in der Datenbanktabelle verknüpfen }
    DataField:= sField;
    { TDataSource der Form zuweisen }
    DataSource:= MaskSource;
    { Font für die TDBEdit-Controls definieren }
    //Font.Name:= 'Courier New';
    { Abstand vom linken Fensterrand }
    Left:= p_left+max_width+h_space;
    Name:= 'DBedit_' + sField;
    Text:= '';
    width:=150;
    //maxlength:=0;
    { vertikaler Abstand vom Clientbereich }
    Top:= p_top;
    Visible:= True;
    end;
    end;
    //DBCheckBox erzeugen
    if table_temp.FieldbyName(sField).DataType = ftBoolean then begin
    dyn_checkbox:= TDBCheckBox.Create(parent_compo);
    with dyn_checkbox do
    begin
    Parent:= parent_compo;
    { mit dem Feld in der Datenbanktabelle verknüpfen }
    DataField:= sField;
    { TDataSource der Form zuweisen }
    DataSource:= MaskSource;
    { Font für die TDBEdit-Controls definieren }
    //Font.Name:= 'Courier New';
    { Abstand vom linken Fensterrand }
    Left:= p_left;
    Name:= 'DBedit_' + sField;
    Caption:= sField;
    { vertikaler Abstand vom Clientbereich }
    Top:= p_top;
    Visible:= True;
    end;
    end;
    //DBDateEdit erzeugen
    if table_temp.FieldbyName(sField).DataType = ftDate then begin
    dyn_dateedit:= TDBDateEdit.Create(parent_compo);
    with dyn_dateedit do
    begin
    Parent:= parent_compo;
    { mit dem Feld in der Datenbanktabelle verknüpfen }
    DataField:= sField;
    { TDataSource der Form zuweisen }
    DataSource:= MaskSource;
    { Font für die TDBEdit-Controls definieren }
    //Font.Name:= 'Courier New';
    { Abstand vom linken Fensterrand }
    Left:= p_left+max_width+h_space;
    Name:= 'DBedit_' + sField;
    //Caption:= '';//sField;
    Text:= '';
    { vertikaler Abstand vom Clientbereich }
    Top:= p_top;
    Visible:= True;
    end;
    end;

    end;

    </PRE>

    Vielen Dank und Grüße

    Hendrik

  • #2
    Hi!

    Wann machst Du denn die Daten aktiv? Vor dem erzeugen oder danach?

    Viele Grüße

    Fran

    Comment

    Working...
    X