![]() |
Stringgrid aktuallisiert nicht
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Beim ersten mal (wie eben^^) geht es ohne Probleme.. Alles wird dargestellt wie es sein soll.
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; 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 |
Re: Stringgrid aktuallisiert nicht
Hallo,
ersetze doch einmal dein ".add" mit ".Strings[RowCount-1]". |
Re: Stringgrid aktuallisiert nicht
Intervall schreibt man in der Mitte mit "r" :zwinker:
|
Re: Stringgrid aktuallisiert nicht
Hallo,
Delphi-Quellcode:
damit löscht Du nicht wirklich alles.
FStringgrid.RowCount := 0; // alles löschen
Darum schreibst Du mit FStringgrid.Cols[0].Add... unter die sichtbaren Zeilen. Setz mal vor der Zeile den Code ein, vermute das es Dein Problem löst:
Delphi-Quellcode:
for i := 0 to FStringgrid.RowCount-1 do
FStringgrid.Rows[i].Clear; |
Re: Stringgrid aktuallisiert nicht
Zitat:
Gruß Neutral General |
Re: Stringgrid aktuallisiert nicht
Das soll jetzt nicht gepushed sein.. wollte nur sagen das ichs jetzt hinbekommen hab :)
Da zwar durch die neue Methode alles weg ist (war es vorher nicht.. also.. egal^^) muss ich zwar wieder die "Überschriften" neu schreiben aber es klappt :) Thx :dp: Gruß Neutral General |
Re: Stringgrid aktuallisiert nicht
Hallo,
Überschrift neu schreiben u.a. so:
Delphi-Quellcode:
StringGrid.Rows[0].Text := 'Spalte1'+#13+'Spalte2'+#13+'Spalte3';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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