AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Quantumgrid 6.x: Inhalt einer bestimmten, gefilterten Spalte in TStringList.
Thema durchsuchen
Ansicht
Themen-Optionen

Quantumgrid 6.x: Inhalt einer bestimmten, gefilterten Spalte in TStringList.

Ein Thema von juergen · begonnen am 16. Jan 2011 · letzter Beitrag vom 18. Jan 2011
 
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Quantumgrid 6.x: Inhalt einer bestimmten, gefilterten Spalte in TStringList.

  Alt 18. Jan 2011, 20:23
Hallo zusammen,
falls jemand das Thema interessiert, so möchte ich meine Lösung (vom sehr guten DevExpress-Support) hier nicht vorenthalten.
Nochmals die Fakten:
- Master/Detail Relationship- Grid (auf die Detail View lassen sich die Standard Export Funktionen im Moment leider nicht anwenden)
- die Detail-Datensätze sind nicht aufgeklappt (ansonsten könnte auch Clones verwendet werden)
- es werden ALLE gefilterten Datensätze aus der Detail-View von einer Column und über ALLE Masterdatensätze benötigt (wenn nur die Detaildatensätze von einem fokusierten Masterdatensatz benötigt werden, kann FocusedRecordIndex angewendet werden)
Delphi-Quellcode:
var
  ADC: TcxCustomDataController;
  I, J, AMasterIndex, AIndex: Integer;
  sl : TStrings;
begin
  sl := TStringList.Create;
  tv_AdressStamm.BeginUpdate;
  try
    with tv_AdressStamm.DataController do
      for I := 0 to FilteredRecordCount - 1 do
      begin
        if I mod 4 = 0 then Application.ProcessMessages;
        AMasterIndex := FilteredRecordIndex[I];
        ADC := GetDetailDataController(AMasterIndex, 0);
        if ADC <> nil then
          for J := 0 to ADC.FilteredRecordCount - 1 do
          begin
            AIndex := ADC.FilteredRecordIndex[J];
            if (AnsiPos('@', ADC.Values[AIndex, tv_Kontaktpersonenpers_email.Index]) > 0) and (AnsiPos('.', ADC.Values[AIndex, tv_Kontaktpersonenpers_email.Index]) > 0) then
            sl.Add(Trim(ADC.Values[AIndex, tv_Kontaktpersonenpers_email.Index]));
          end;
      end;
  finally
    tv_AdressStamm.EndUpdate;
    dlgSave.Filter := 'Text-Datei(*.txt)|*.txt';
    if dlgSave.Execute then begin
      sl.SaveToFile(dlgSave.FileName);
    end;
    sl.Free;
  end;
end;
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen (18. Jan 2011 um 20:25 Uhr)
  Mit Zitat antworten Zitat
 


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 13:22 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