Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: SELECT TOP ... DESC umsortieren

  Alt 9. Jan 2014, 10:55
Für Access nicht zu gebrauchen da hier üblicherweise mit clServer gearbeitet wird, aber für SQL-Server mit Datenmengen die den Gridmode benötigen (~>5000) verwende ich ein Event in meinem Template welches den Views zugeordnet wird um die Daten entsprechend der über dass Grid zu definierenden Sortierungen clientzseitig über ADO-Sort abfackelt.

Delphi-Quellcode:
Const
C_SORTTYPE:Array[TcxDataSortOrder] of String=('ASC','ASC','DESC');

procedure TTemplate.AllGridDataControllerSortingChanged(Sender: TObject);
var
 i:Integer;
 sl:TStringList;
begin
   if TcxGridDBDataController(Sender).DataModeController.GridMode then
      begin
       sl:=TStringList.Create;
       sl.Delimiter := ',';
       sl.StrictDelimiter :=true;
       for I := 0 to TcxGridDBDataController(Sender).GridView.SortedItemCount - 1 do
          begin
            if TcxGridItemDBDataBinding(TcxGridDBDataController(Sender).GridView.SortedItems[i].DataBinding).Field.FieldKind=fkData then
            sl.Add(TcxGridItemDBDataBinding(TcxGridDBDataController(Sender).GridView.SortedItems[i].DataBinding).FieldName + ' '
                   + C_SORTTYPE[TcxGridDBDataController(Sender).GridView.SortedItems[i].SortOrder])
          end;
       TAdodataset(TcxGridDBDataController(Sender).Datasource.DataSet).Sort
       := sl.DelimitedText;
       sl.Free;
      end;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat