AGB  ·  Datenschutz  ·  Impressum  







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

Inhalte von Stringgrid bleiben unsichtbar

Ein Thema von stefanmichel · begonnen am 2. Jul 2008 · letzter Beitrag vom 2. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
stefanmichel

Registriert seit: 18. Jun 2008
10 Beiträge
 
#1

Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 09:50
Guten Morgen,

ein Anfänger bittet um einen Tipp:

Ich lese Daten aus einer externen Datei (Rechn.Nr., Kundenname, Datum, Betrag) in ein Stringrid ein und will diese zum Nachdruck der Rechnung anbieten.

Immer ab Zeile 163 bleiben die Einträge des Stringgrids unsichtbar, die Inhalte sind aber definitiv da - beim Anklicken der leeren Zeile werden die richtigen Werte ausgelesen.

Gibt es ein Limit für darstellbare Zeilen eines Stringgrids ? Wo kann ich das erhöhen, wenn überhaupt ?
Läuft das Programm außerhalb von Delphi, sind's 182 Zeilen - das legt nahe, daß es sich um ein Speicherauslastungsproblem handelt ...

Danke!

Stefan Michel
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:30
Guten Morgen,

wie befüllst Du denn das StringGrid?

Eine Grenze gibt es schon beim StringGrid sie wird durch die Typen von Rows and Cols bestimmt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:34
Moin, Moin,
aber an RowCount scheint's ja nicht zu liegen, die Inhalte sind offenbar vorhanden, werden aber ab einer bestimmten Zeile nur nicht angezeigt. Seltsam. Verwendest du TStringGrid oder eine andere Komponente?
Ralph
  Mit Zitat antworten Zitat
stefanmichel

Registriert seit: 18. Jun 2008
10 Beiträge
 
#4

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:39
Hallo Klaus,

danke für Deine Antwort.

Am Befüllen liegt's nicht, sonst wären die Daten ja nicht auslesbar. Es hapert nur an der Sichtbarkeit.

Ich verwende ein ganz einfaches Stringgrid mit 5 cols und einem rowcount, der entsprechend der Datenmenge gesetzt ist.

Stefan
  Mit Zitat antworten Zitat
stefanmichel

Registriert seit: 18. Jun 2008
10 Beiträge
 
#5

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:40
um genau zu sein: ein TStrinGrid
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:42
Hast Du denn das Grid auf Defaultdrawing stehen und machst Du irgendwas in den OnDrawCell, das vielleicht Deine Zahlen überschreibt?

Grüße, Messie
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:42
Vielleicht eine dumme idee, aber setzt du vielleicht im OnDrawCell die Schriftfarbe irgendwann auf weiß ?

Ansonsten zeig doch mal den Code wie du das befüllst.

Gruß
Ansgar
Ansgar
  Mit Zitat antworten Zitat
stefanmichel

Registriert seit: 18. Jun 2008
10 Beiträge
 
#8

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 10:53
nein, das mache ich nicht. ich verwende drawcell nur, um in der spalte betrag eine rechtsbündige ausrichtung zu erreichen - das funktioniert. habe drawcell auch schon weggelassen, um diese fehlerquelle zu beseitigen - trotzdem nur 163 sichtbare zeilen, wenngleich alle linksbündig

hallo messie, defaultdrawing ist auf true ...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#9

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 11:03
Na, ich denke auch: Ein bisschen Code wäre wohl jetzt sinnvoll
Ralph
  Mit Zitat antworten Zitat
stefanmichel

Registriert seit: 18. Jun 2008
10 Beiträge
 
#10

Re: Inhalte von Stringgrid bleiben unsichtbar

  Alt 2. Jul 2008, 11:10
bitte schön:

sdat ist eine bereits gefilterte Datei, die nur die relevanten datensätze enthält:

Delphi-Quellcode:
  suchliste.RowCount := pred(filesize(sdat));
  for f := 0 to pred(suchliste.rowcount) do suchliste.rowheights[f] := 20;
  suchliste.ColWidths[0] := 40;
  suchliste.ColWidths[1] := 45;
  suchliste.ColWidths[2] := 240;
  suchliste.ColWidths[3] := 100;
  suchliste.ColWidths[4] := 100;
  for f := 0 to pred(filesize(sdat)) do begin
    read(sdat,spuff);
    str(f,t);
    suchliste.Cells[0,f] := s;
    suchliste.Cells[1,f] := spuff.num,4,'0');
    suchliste.Cells[2,f] := spuff.kun;
    suchliste.Cells[3,f] := spuff.dat;
    suchliste.Cells[4,f] := spuff.bet;
  end;
  suchliste.row := 0;
das drawcell sollte nur auf spalte 4 (betrag) wirken, tut es auch. auch wenn ich weglasse, bleibt das problem bestehen ...

Delphi-Quellcode:
  procedure TForm2.SuchlisteDrawCell(Sender: TObject; ACol, ARow: Integer;
    Rect: TRect; State: TGridDrawState);
  var s: string;
  begin
    if acol = 4 then begin
    s := Suchliste.Cells[ACol, ARow]; {Text der Zelle holen}
    Suchliste.Canvas.FillRect(Rect); {Zelle leer überzeichnen}
    DrawText(Suchliste.Canvas.Handle, PChar(s), Length(s), Rect, DT_SINGLELINE or DT_right or
      DT_VCENTER); {Text zentriert zeichnen}
    end;
  end;
  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 23:15 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