rbWiki > DADE > SQLBuilder > How To...Control Sort Order

How To...Control Sort Order

Table of contents
  1. 1. Question
  2. 2. Solution

Question

"How can I control the sort order of the data at run-time?"

Solution

Use SQLBuilder and the Report.OnInitializeParameters or BeforeOpenDataPipelines event to modify the SQL Order By clause.

Download: SQLBuilderSimplerOrderBy.zip

Delphi Code  

procedure TForm1.ppReport1InitializeParameters(Sender: TObject; var aCancel: Boolean);
var
  lSQLBuilder: TdaSQLBuilder;
begin

  ppReport1.DataPipeline.Close;

  lSQLBuilder := TdaSQLBuilder.Create(ppReport1);
  lSQLBuilder.OrderByFields.Clear;

  // conditionally sort on a Customer field: Company, CustNo, or State
  case RadioGroup1.ItemIndex of
    0: lSQLBuilder.OrderByFields.Add('Customer','Company');
    1: lSQLBuilder.OrderByFields.Add('Customer','CustNo');
    2: lSQLBuilder.OrderByFields.Add('Customer','State');
  end;

  lSQLBuilder.Free;

end;
Tags
none

Files (0)

 
You must login to post a comment.