Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi In StringGrid-Zeilen mit einem Balken navigieren (https://www.delphipraxis.net/77770-stringgrid-zeilen-mit-einem-balken-navigieren.html)

marabu 26. Okt 2006 07:19

Re: In StringGrid-Zeilen mit einem Balken navigieren
 
Hallo Lombi,

deine Kundendaten stehen wohl noch in einer Query-Komponente (QueryKunden) zur Verfügung. Du kannst sie von dort nehmen, aber wenn die Felder der Query nicht mit den Spalten des Grid korrelieren, dann musst du erst ein Mapping von Spaltenindex auf Feldindex bereitstellen - oder du verzichtest auf die Schleife:

Delphi-Quellcode:
//  ...
    Cells[1, Row] := FieldbyName('Name1').AsString;
    Cells[2, Row] := FieldbyName('Name2').AsString;
//  ...
Freundliche Grüße

LOMBI 26. Okt 2006 12:13

Re: In StringGrid-Zeilen mit einem Balken navigieren
 
Hallo marabu,

wenn ich aus meinem Code "FormKunden.Show" entferne, dann läuft alles
wie auf Deiner Demo ab. Die Zahlenreihen beginnen mit der ersten Zeile.
Irgendwie beschleicht mich das Gefühl, dass für meine Zwecke nachstehender
Passus geändert werden müßte, damit statt der Zahlen meine Kundendaten ab
Zeile 1 eingetragen werden.

Zitat:

for iCol := FixedCols to Pred(ColCount) do
Cells[iCol, Row] := IntToStr(Random(90) + 10);
SetFocus;
Die Felder der QueryKunden korrelieren mit den Spalten des Grid:

Delphi-Quellcode:
procedure TFormKunden.BtnSpeichernClick(Sender: TObject);
var
  inZeile: Integer;
begin
  with FormKundenListe, GridKunden, QueryKunden do
    begin
      inZeile := RowCount;
      RowCount := RowCount + 1;
      Cells[0, inZeile] := FieldByName('Name1').AsString;
      Cells[1, inZeile] := FieldByName('Name2').AsString;
      ...
Viele Grüße

marabu 26. Okt 2006 12:36

Re: In StringGrid-Zeilen mit einem Balken navigieren
 
Delphi-Quellcode:
for iCol := FixedCols to Pred(ColCount) do
  Cells[iCol, Row] := IntToStr(Random(90) + 10);
SetFocus;
Dieser Code schreibt Zufallszahlen in die ausgewählte Grid-Zeile - den brauchst du nicht.

Grüße

LOMBI 26. Okt 2006 14:34

Re: In StringGrid-Zeilen mit einem Balken navigieren
 
Ja, dann stehe ich aber wieder vor meinem Problem 1.) aus #16.
Der Kundeneintrag im Grid beginnt auf Zeile 2 und nicht ganz oben!

LOMBI 26. Okt 2006 15:27

Re: In StringGrid-Zeilen mit einem Balken navigieren
 
Delphi-Quellcode:
procedure TFormKunden.BtnSpeichernClick(Sender: TObject);
var
  inZeile: Integer;
begin
  with FormKundenListe, GridKunden, QueryKunden do
    begin
      inZeile := RowCount;
      Cells[0, inZeile] := FieldByName('Name1').AsString;
      Cells[1, inZeile] := FieldByName('Name2').AsString;
      ...
"RowCount := RowCount + 1;" habe ich aus dem Code genommen.
Jetzt beginnt der Eintrag zwar in der 1.Zeile des Grids, jedoch
erst beim nächsten BtnKundeNeuClick. Die Daten sollten bereits
nach dem OnPost im Grid erscheinen. Auch OnBeforePost half nichts!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.
Seite 3 von 3     123   

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-2025 by Thomas Breitkreuz