Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TClientDataSet Alle markierten Felder auf den Wert x setzen? (https://www.delphipraxis.net/39580-tclientdataset-alle-markierten-felder-auf-den-wert-x-setzen.html)

mr47 4. Feb 2005 18:03


TClientDataSet Alle markierten Felder auf den Wert x setzen?
 
Hi Leute.

Ich habe ein

- TClientDataSet
- TDataSource
- DBGrid

Bei dem Grid ist multiSelect auf true.

Wie kann ich jetzt machen, dass bei allen markierten Einträgen in der Datenbank X das Feld y auf einen bestimmten Wert gesetzt wird?

Danke im voraus

mr47

//EDIT: Ich stell die Frage mal ein bisschen einfacher: Wie kann ich alle ausgewählten Einträge bearbeiten?

eddy 4. Feb 2005 21:15

Re: TClientDataSet Alle markierten Felder auf den Wert x set
 
Hallo mr47,

auf die Schnelle (ungetestet):

Code:
for i := 0 to YourGrid.SelectedRows.Count-1 do begin
  if BookmarkValid(TBookmark(YourGrid.SelectedRows.Items[i])) then begin
    GotoBookmark(TBookmark(YourGrid.SelectedRows.Items[i]));
    { Tu_Was_Mit_Daten; } 
  end;
end;
Quelle: http://www.tif-masters.de/progra/delphi/index.html

Vielleicht hilft's weiter.

mfg
eddy

mr47 4. Feb 2005 21:30

Re: TClientDataSet Alle markierten Felder auf den Wert x set
 
Danke für deine Antwort. Aber was ist "BookmarkValid" und "GotoBookmark". Delphi meldet

Zitat:

[Error] editBookUnit.pas(146): E2003 Undeclared identifier: 'BookmarkValid'
??

eddy 5. Feb 2005 09:51

Re: TClientDataSet Alle markierten Felder auf den Wert x set
 
Hallo mr47,

so ist das eben, wenn man das Zeug nicht selber testet!

Hier ein funktionsfähiges Beispiel, soeben erfolgreich probiert:
Code:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  zel : integer;
  s : string;
begin
  zel := dbg1.SelectedRows.Count;
  if zel = 0 then exit;

  Tab1.DisableControls;
  Tab1.Last;
  while not Tab1.Bof do begin
    if dbg1.SelectedRows.CurrentRowSelected then begin
      // Aktion mit den ausgewählten Datensätzen ausführen
      // hier: Lösche den gewählten Satz
      Tab1.Delete;
    end;
    Tab1.Prior;
  end;
  Tab1.EnableControls;
end;
Viel Erfolg!

mfg
eddy

mr47 5. Feb 2005 10:54

Re: TClientDataSet Alle markierten Felder auf den Wert x set
 
Vielen vielen Dank :) :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 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