100 lines
2.4 KiB
ObjectPascal
100 lines
2.4 KiB
ObjectPascal
unit Unit1;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, RxDBGridExportSpreadSheet,
|
|
Forms, Controls, Graphics, Dialogs, StdCtrls, db;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
Button1: TButton;
|
|
CheckBox1: TCheckBox;
|
|
CheckBox2: TCheckBox;
|
|
CheckBox3: TCheckBox;
|
|
dsData: TDataSource;
|
|
Label1: TLabel;
|
|
rxDataAAA: TStringField;
|
|
rxDataGROUP_ID: TLongintField;
|
|
rxDataID: TLongintField;
|
|
rxDataSUM: TCurrencyField;
|
|
rxDataTEXT: TStringField;
|
|
RxDBGrid1: TRxDBGrid;
|
|
rxData: TRxMemoryData;
|
|
RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure CheckBox1Change(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure rxDataAfterScroll(DataSet: TDataSet);
|
|
private
|
|
|
|
public
|
|
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
var
|
|
i: Integer;
|
|
begin
|
|
rxData.Open;
|
|
for i:=1 to 200 do
|
|
rxData.AppendRecord([i, ((i-1) div 4) + 1, Random * 1000, Format('Test string %d', [i])]);
|
|
|
|
RxDBGrid1.GroupItems.GroupFieldName:='GROUP_ID';
|
|
RxDBGrid1.ColumnByFieldName('SUM').GroupParam.ValueType:=fvtSum;
|
|
RxDBGrid1.ColumnByFieldName('SUM').GroupParam.Alignment:=taRightJustify;
|
|
|
|
RxDBGrid1.ColumnByFieldName('GROUP_ID').GroupParam.ValueType:=fvtCount;
|
|
|
|
RxDBGrid1.ColumnByFieldName('ID').GroupParam.ValueType:=fvtStaticText;
|
|
RxDBGrid1.ColumnByFieldName('ID').GroupParam.StaticText:='Группа:';
|
|
|
|
RxDBGrid1.ColumnByFieldName('AAA').GroupParam.ValueType:=fvtFieldValue;
|
|
RxDBGrid1.ColumnByFieldName('AAA').GroupParam.Alignment:=taCenter;
|
|
RxDBGrid1.ColumnByFieldName('AAA').GroupParam.Color:=clRed;
|
|
RxDBGrid1.GroupItems.Color:=clSkyBlue;
|
|
|
|
rxData.First;
|
|
|
|
CheckBox1Change(nil);
|
|
end;
|
|
|
|
type
|
|
THackRxDBGrid = class(TRxDBGrid);
|
|
|
|
procedure TForm1.rxDataAfterScroll(DataSet: TDataSet);
|
|
begin
|
|
Label1.Caption:=Format('ActiveRecord %d', [THackRxDBGrid(RxDBGrid1).DataLink.ActiveRecord]);
|
|
end;
|
|
|
|
procedure TForm1.CheckBox1Change(Sender: TObject);
|
|
begin
|
|
RxDBGrid1.GroupItems.Active:=CheckBox1.Checked;
|
|
RxDBGrid1.FooterOptions.Active:=CheckBox2.Checked;
|
|
RxDBGrid1.ReadOnly:=CheckBox3.Checked;
|
|
end;
|
|
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
RxDBGridExportSpreadSheet1.Options:=RxDBGridExportSpreadSheet1.Options + [ressExportGroupData];
|
|
RxDBGridExportSpreadSheet1.Execute;
|
|
|
|
end;
|
|
|
|
end.
|
|
|