TurboDB VCL Component Library

Selections and Drill-Down

Previous  Top  Next

TurboDB verfügt über eine Erweiterung der konventionellen Datenbank-Filter der VCL. Eine Selektion ist eine Untermenge aller Datensätze, die durch Hinzufügen oder Entfernen  einzelner Datensätze manipuliert werden kann, indem Filter-Bedingungen und Wort-Filter angewendet werden. Die Untermenge kann beispielsweise zur Verwaltung der Mehrfachselektion in einem Daten-Grid verwendet werden, oder um Drill-Down Fähigkeiten oder die Funktionalität der SQL Operatoren UNION, INTERSECT und EXCEPT auf TTdbTable Level zu realisieren. Selektionen können natürlich auch als Filter verwendet werden.

Filter über die Datensätze mit den Nummern 54821 und 897003:

MyTable.AddToSelection(54821);
MyTable.AddToSelection(897003);
MyTable.Filtered := True;

Filter über alle Autos der Marke BMW und inkrementell mit roter Farbe (drill-down):

MyTable.Filter = 'Manufacturer = ''BMW''';
MyTable.Filtered := True;
// Now all BMWs are shown
MyTable.AddToSelection('Color = ''red''');
// Now all red BMWs are in the selection
MyTable.ActivateSelection;
// Now all red BMWs are shown
MyTable.Filtered := False;
// All cars are shown again.

Löschen aller roter BMWs (inkrementell):

MyTable.ClearSelection;
MyTable.AddToSelection('Manufacturer = ''BMW''');
MyTable.IntersectSelection('Color = ''red''');
MyTable.Last;
while not MyTable.BOF do begin
  if MyTable.IsSelected(MyTable.RecNo) then
    MyTable.Delete;
  MyTable.Prior;
end;

Falls ein Filter für eine Datenmenge definiert ist, die Eigenschaft Filtered aber False ist, besteht die aktuelle Selektion aus den Datensätzen, die die Filterbedingung erfüllen. Mit den Methoden AddToSelection, RemoveFromSelection und IntersectSelection kann diese bearbeitet werden. Die Methoden FindFirst und FindNext können zum Durchwandern  der aktuellen Selektion verwendet werden.

See also

DrillDown Demo Program
AddToSelection method
RemoveFromSelection method
IntersectSelection method
ActivateSelection method
IsSelected method
ClearSelection method