AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDBAdvGrid Problem beim markieren von mehreren Zeilen
Thema durchsuchen
Ansicht
Themen-Optionen

TDBAdvGrid Problem beim markieren von mehreren Zeilen

Ein Thema von Eppos · begonnen am 12. Mär 2008 · letzter Beitrag vom 12. Mär 2008
Antwort Antwort
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

TDBAdvGrid Problem beim markieren von mehreren Zeilen

  Alt 12. Mär 2008, 07:38
Datenbank: Firebird • Version: 1.5 • Zugriff über: bde
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:
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;
Ich bitte um Hilfe, ich bin echt am verzeweifeln.

Vielen Dank.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TDBAdvGrid Problem beim markieren von mehreren Zeilen

  Alt 12. Mär 2008, 10:09
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?!
  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 02:01 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