Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Stringgrid aktuallisiert nicht

  Alt 27. Jun 2006, 19:13
Hi,

Wusste nicht ob mein Problem eher zu "Controls" oder zu "Sonstigen Fragen zu Delphi" passt.. egal..
Also es geht wieder um meine Schulden-Record Sache.. Ich stelle die in ner ListBox + Stringgrid dar.
(siehe Screenshot)

Und wenn man jetzt links auf nen Eintrag klickt sollen halt nur die Schulden bei dieser Person angezeigt werden.. Geht im Prinzip ja.. is auch nicht schwer (normal..).

Delphi-Quellcode:
procedure TMain.ListBox1Click(Sender: TObject);
begin
 if ListBox1.ItemIndex > -1 then begin
  Schulden.Repaint(ListBox1.Items[ListBox1.ItemIndex],false, true);
 end;
end;
=>

Delphi-Quellcode:
procedure TSchuldenliste.Repaint(fBei: String; LB_Repaint, SG_Repaint: Boolean);
var i: Integer;
begin
 if (not LB_Repaint) and (not SG_Repaint) then exit;
 if SG_Repaint then begin
  FStringgrid.RowCount := 0; // alles löschen
  for i:= 0 to Count-1 do begin // alles von der ausgewählten Person
   if Items[i].Bei = fBei then begin // ins Stringgrid einfügen
    FStringgrid.RowCount := FStringgrid.RowCount + 1;
    FStringgrid.Cols[0].Add(Items[i].Anlass);
    FStringgrid.Cols[1].Add(FloatToStrF(FItems[i].Betrag,ffNumber,4,2) + '');
    FStringgrid.Cols[2].Add(ziToString(FItems[i].Zinsen.Intervall));
    FStringgrid.Cols[3].Add(IntToStr(FItems[i].Zinsen.Value));
    FStringgrid.Cols[4].Add(zaToString(FItems[i].Zinsen.Kind));
    FStringgrid.Cols[5].Add(FloatToStrF(FItems[i].Betrag,ffNumber,4,2) + '');
    FStringgrid.Cols[6].Add(BoolToString(FItems[i].Gezahlt));
   end;
  end;
  FStringgrid.FixedRows := 1;
 end;

 if LB_Repaint then begin // unwichtig weil der Teil nicht aufgerufen wird
  FListBox.Clear; // in meinem Fall
  for i:= 0 to Count-1 do begin
   FListBox.Items.Add(Items[i].Bei)
  end;
 end;
end;
Beim ersten mal (wie eben^^) geht es ohne Probleme.. Alles wird dargestellt wie es sein soll.
Wenn ich dann nochmal auf die Listbox klicke (auf nen anderen Namen) dann ändert sich nix o.O
Hab mim Debugger nachgeprüft.. Der String ist "gültig" und alle Einträge werden geschrieben.. Aber ich seh nix

Gruß
Neutral General
Miniaturansicht angehängter Grafiken
sosiehtsaus_565.jpg  
Michael
  Mit Zitat antworten Zitat