![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: bde
TDBAdvGrid Problem beim markieren von mehreren Zeilen
Hallo zusammen,
ich habe ein Problem mehrere Zeilen zu markieren. Das Grid lässt es zwar zu, aber wenn ich dann was drucken möchte und ich eine Schleife durchlaufen lassen möchte, springt er einfach an den Anfang zurück. Beispiel: Zu sehen sind 100 Datensätze, auf meinen Bildschirm passen 25, ich scrolle nun etwas runter um zwischen den Datensätzen 30 und 55 zu stehen, dann markieren ich dort 5 st. jetzt drücke ich auf meinen Button um diese zu drucken. Die schleife startet und schaut welche markiert sind, nur das grid fängt von vorne an, und somit sind meine markierungen auf die ersten 25 Datensätze verteilt und damit druckt er mir natürlich die Falschen Datensätze. Meine Einstellungen PageMode := True; (vor dem auslesen der markierten Datensätze, PageMode := True und nach dem Auslesen wieder PageMode := False;) DBIndicator := True; Meine Schleife:
Delphi-Quellcode:
Ich bitte um Hilfe, ich bin echt am verzeweifeln.
procedure TPrintButton.GetIDFromSelectRowGrid(var vA:array of integer;
vG : TGrid; vQ : TDataSet); var i, y : integer; Rline : array of integer; begin try vG.PageMode := false; for i := 1 to vG.RowCount do begin if vG.RowSelect[i-1] then begin y := Length(Rline)+1; SetLength( Rline, y); Rline[y-1] := i-1; end; end; vG.PageMode := true; vQ.DisableControls; for i := 0 to Length(Rline)-1 do begin vQ.First; vQ.MoveBy(Rline[i]-1); vA[i] := fDataSet.FieldByName('ID').AsInteger; end; vQ.EnableControls; except; end; end; Vielen Dank. |
Re: TDBAdvGrid Problem beim markieren von mehreren Zeilen
mir würde auch schon reichen, wenn mir jemadn sagen könnte, wie ich den DBIndicator beim Klick auf eine Row dort hin setzten kann?!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 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-2025 by Thomas Breitkreuz