AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Daten in ein StringGrid schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Daten in ein StringGrid schreiben

Ein Thema von LOMBI · begonnen am 22. Sep 2006 · letzter Beitrag vom 23. Sep 2006
Antwort Antwort
LOMBI
(Gast)

n/a Beiträge
 
#1

Daten in ein StringGrid schreiben

  Alt 22. Sep 2006, 11:56
Datenbank: Paradox • Version: 7 • Zugriff über: TQuery, TDataSource
Hallo,

in meinem Programm möchte ich gerne die DBGrids durch StringGrids ersetzen.

Delphi-Quellcode:
procedure TFRechn.FormCreate(Sender: TObject);
begin
  StringGridRedat.colcount := 6;
  StringGridRedat.rowcount := 1;
  StringGridRedat.Cells [1,0] := 'PosNr';
  StringGridRedat.Cells [2,0] := 'ArtNr';
  StringGridRedat.Cells [3,0] := 'Artbez';
  ...
end;

procedure TFRechn.BtnArtNeuClick(Sender: TObject);
var
  inzeile:Integer;
begin
  StringGridRedat.rowcount := inzeile;
  inzeile := StringGridRedat.rowcount+1;
  StringGridRedat.Cells [1, inzeile] :=
  QueryRedat.FieldByName('PosNr').Text;
  StringGridRedat.Cells [2, inzeile] :=
  QueryRedat.FieldByName('ArtNr').Text;
  StringGridRedat.Cells [3, inzeile] :=
  QueryRedat.FieldByName('Artbez').Text;
  StringGridRedat.Cells [4, inzeile] :=
  QueryRedat.FieldByName('Anzahl').Text;
  ...
end;
goEditing := True;

Mein Problem ist, dass ich keine Daten in das StringGrid eintragen
kann.

Für Hilfe bin ich dankbar!

Gruß Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Daten in ein StringGrid schreiben

  Alt 22. Sep 2006, 12:17
Hallo Lombi,

ich nehme an, du möchtest die Daten aus dem aktuellen Datensatz deiner Query als neue Zeile an das StringGrid anfügen. Probiere es so:

Delphi-Quellcode:
procedure TFRechn.BtnArtNeuClick(Sender: TObject);
var
  inZeile: Integer;
begin
  with StringGridReDat, QueryReDat do
  begin
    inZeile := RowCount;
    RowCount := RowCount + 1;
    Cells[1, inZeile] := FieldByName('PosNr').AsString;
    Cells[2, inZeile] := FieldByName('ArtNr').AsString;
    // ...
  end;
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#3

Re: Daten in ein StringGrid schreiben

  Alt 22. Sep 2006, 15:57
Vielen Dank marabu für die Antwort.

Hatte vergessen zu erwähnen, dass ich die Daten mittels Edits in das StringGrid einfügen möchte. Beim Ausführen mit Deinem Code zeigen sich
noch folgende Probleme:

1.) Die PosNr beginnt nun mit 1 und nicht wie beim DBGrid bei 001...
2.) ArtNr und ArtBez werden nicht in das StringGrid übernommen.
3.) Wenn ich für Anzahl und Einzelpreis jeweils "1" bzw."1,00" eingebe,
dann steht in den Spalten: 2,22863...

Bei ColCount := 6 werden nur 5 Spaltenüberschriften angezeigt.
Die Spalte ganz links im StringGrid ist ohne Bezeichnung in grau
dargestellt. Wie läßt sich diese Spalte entfernen?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Daten in ein StringGrid schreiben

  Alt 22. Sep 2006, 16:12
Der Index für Spalten und Zeilen eines Grids beginnt bei 0. Die grauen Bereiche werden über die Eigenschaften FixedCols und FixedRows eingestellt und eignen sich für Spalten- und Zeilenbeschriftungen. Bei der Übernahme irgendwelcher Daten in die Zellen des Grids musst du für die gewünschte Darstellung sorgen. Wo die Daten herkommen ist egal. Falsche Ergebnisse sind vielleicht nur unerwartete Ergebnisse? Schlüsselfelder solltest du übrigens nicht im Grid anzeigen.

marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#5

Re: Daten in ein StringGrid schreiben

  Alt 23. Sep 2006, 13:20
Danke für die Hinweise.

Mit QueryBeforePost wurden die Daten aus den Edits
in das StringGrid eingetragen. Wie bitte lassen sich
nun die gespeicherten Daten (Zeilen) aus dem StringGrid
wieder löschen? Nach einem OnDblClick bleiben die Einträge
trotzdem im StringGrid stehen.

Gruß
Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Daten in ein StringGrid schreiben

  Alt 23. Sep 2006, 13:31
Hallo Lombi,

beim Löschen und Einfügen von Zeilen und anderen Operationen im Zusammenhang mit der Komponente TStringGrid helfen dir vielleicht die Routinen aus der Unit GridUtils.

Schönes Wochenende

marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#7

Re: Daten in ein StringGrid schreiben

  Alt 23. Sep 2006, 13:43
Ein StringGrid zu verwenden ist gar nicht so einfach!

Danke und viele Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:51 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