1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
unit usortdemo;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics,
ExtCtrls, Menus, ComCtrls, StdCtrls,
fpspreadsheetctrls,
fpsTypes,
fpsutils,
fpspreadsheet,
fpspreadsheetgrid;
type
{ TFsortdemo }
TFsortdemo = class(TForm)
BtnLoad: TButton;
BtnSort: TButton;
ws: TsWorksheetGrid;
wb: TsWorkbookSource;
procedure BtnLoadClick(Sender: TObject);
procedure BtnSortClick(Sender: TObject);
private
public
end;
var
Fsortdemo: TFsortdemo;
implementation
{$R *.lfm}
{ TFsortdemo }
var
sortParams: TsSortParams;
procedure TFsortdemo.BtnLoadClick(Sender: TObject);
var
str1, str2, str3, str4, str5, str6 : string;
begin
str1 := 'A Huit';
str2 := 'ACinq';
str3 := 'ANeuf';
str4 := 'xA Huit';
str5 := 'xACinq';
str6 := 'xANeuf';
// chargement manuel du Worksheet
wb.Worksheet.Clear;
wb.Worksheet.WriteText(0, 0, UTF8toANSI(str1)); // str1 := 'A Huit';
wb.Worksheet.WriteText(1, 0, UTF8toANSI(str2)); // str2 := 'ACinq';
wb.Worksheet.WriteText(2, 0, UTF8toANSI(str3)); // str3 := 'ANeuf';
wb.Worksheet.WriteText(3, 0, str4); // str4 := 'xA Huit';
wb.Worksheet.WriteText(4, 0, str5); // str5 := 'xACinq';
wb.Worksheet.WriteText(5, 0, str6); // str6 := 'xANeuf';
end;
procedure TFsortdemo.BtnSortClick(Sender: TObject);
begin
sortParams := InitSortParams(true, 1); // Col sort, Number of sort (cols or rows)
sortParams.Keys[0].ColRowIndex := 0; // ColRowIndex Index of the sorted column or row
sortParams.Keys[0].Options := []; // TsSortOption = (ssoDescending, ssoCaseInsensitive, ssoAlphaBeforeNum)
wb.Worksheet.Sort(sortParams, 0, 0, wb.worksheet.GetLastRowIndex, wb.worksheet.GetLastColIndex);
end;
end. |
Partager