summaryfooterdemomain.pas
来自「DevExpress ExpressQuantumGrid Suite v5.9」· PAS 代码 · 共 184 行
PAS
184 行
unit SummaryFooterDemoMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxControls, cxGridCustomView, cxGrid, cxCustomData,
ExtCtrls, ActnList, ImgList, Menus, ComCtrls, cxGridCustomPopupMenu,
cxGridPopupMenu, cxStyles, cxGraphics, cxFilter, cxData, cxEdit, DB,
cxDBData, cxClasses, cxDataStorage, cxBlobEdit, cxSpinEdit, cxCheckBox,
cxHyperLinkEdit, cxCurrencyEdit, cxDBLookupComboBox, cxCalendar,
cxTimeEdit, cxImageComboBox, cxCalc, cxLookAndFeels;
type
TSummaryFooterDemoMainForm = class(TForm)
mmMain: TMainMenu;
miAbout: TMenuItem;
miFile: TMenuItem;
miOptions: TMenuItem;
miExit: TMenuItem;
miSummaries: TMenuItem;
sbMain: TStatusBar;
Grid: TcxGrid;
lvCars: TcxGridLevel;
tvCars: TcxGridDBTableView;
tvCarsTrademark: TcxGridDBColumn;
tvCarsModel: TcxGridDBColumn;
tvCarshp: TcxGridDBColumn;
tvCarsliter: TcxGridDBColumn;
tvCarscyl: TcxGridDBColumn;
tvCarsTransmissSpeedCount: TcxGridDBColumn;
tvCarsTransmissAutomatic: TcxGridDBColumn;
tvCarsMPG_City: TcxGridDBColumn;
tvCarsMPG_Highway: TcxGridDBColumn;
tvCarsCategory: TcxGridDBColumn;
tvCarsDescription: TcxGridDBColumn;
tvCarsHyperlink: TcxGridDBColumn;
tvCarsPicture: TcxGridDBColumn;
tvCarsPrice: TcxGridDBColumn;
lvOrders: TcxGridLevel;
tvOrders: TcxGridDBTableView;
tvOrdersCustomerID: TcxGridDBColumn;
tvOrdersPurchaseDate: TcxGridDBColumn;
tvOrdersTime: TcxGridDBColumn;
tvOrdersPaymentType: TcxGridDBColumn;
tvOrdersPaymentAmount: TcxGridDBColumn;
tvOrdersDescription: TcxGridDBColumn;
tvOrdersQuantity: TcxGridDBColumn;
lbDescription: TLabel;
miCustomizeSummaries: TMenuItem;
miSelectedRecordOnly: TMenuItem;
miIgnoreNullValues: TMenuItem;
N1: TMenuItem;
miFooter: TMenuItem;
miMultiSelect: TMenuItem;
N2: TMenuItem;
cxGridPopupMenu1: TcxGridPopupMenu;
LookAndFeelController: TcxLookAndFeelController;
procedure miAboutClick(Sender: TObject);
procedure miExitClick(Sender: TObject);
procedure btnAddSummaryClick(Sender: TObject);
procedure miCustomizeSummariesClick(Sender: TObject);
procedure miSelectedRecordOnlyClick(Sender: TObject);
procedure miIgnoreNullValuesClick(Sender: TObject);
procedure miMultiSelectClick(Sender: TObject);
procedure miFooterClick(Sender: TObject);
procedure GridFocusedViewChanged(Sender: TcxCustomGrid;
APrevFocusedView, AFocusedView: TcxCustomGridView);
procedure FormShow(Sender: TObject);
public
{ Public declarations }
end;
var
SummaryFooterDemoMainForm: TSummaryFooterDemoMainForm;
implementation
{$R *.dfm}
uses
SummaryFooterDemoData, SummaryFooterDemoEditSummary, AboutDemoForm;
procedure TSummaryFooterDemoMainForm.btnAddSummaryClick(Sender: TObject);
begin
SummaryFooterDemoEditSummaryForm.ShowModal;
end;
procedure TSummaryFooterDemoMainForm.miAboutClick(Sender: TObject);
begin
ShowAboutDemoForm;
end;
procedure TSummaryFooterDemoMainForm.miExitClick(Sender: TObject);
begin
Close;
end;
procedure TSummaryFooterDemoMainForm.miCustomizeSummariesClick(Sender: TObject);
begin
SummaryFooterDemoEditSummaryForm.ShowModal;
end;
procedure TSummaryFooterDemoMainForm.miSelectedRecordOnlyClick(
Sender: TObject);
var
ASummary: TcxDataSummary;
begin
if not Assigned(Grid.FocusedView) then Exit;
with Sender as TMenuItem do
Checked := not Checked;
ASummary := Grid.FocusedView.DataController.Summary;
if (Sender as TMenuItem).Checked then
ASummary.Options := ASummary.Options + [soSelectedRecords]
else
ASummary.Options := ASummary.Options - [soSelectedRecords];
end;
procedure TSummaryFooterDemoMainForm.miIgnoreNullValuesClick(
Sender: TObject);
var
ASummary: TcxDataSummary;
begin
if not Assigned(Grid.FocusedView) then Exit;
with Sender as TMenuItem do
Checked := not Checked;
ASummary := Grid.FocusedView.DataController.Summary;
if (Sender as TMenuItem).Checked then
ASummary.Options := ASummary.Options + [soNullIgnore]
else
ASummary.Options := ASummary.Options - [soNullIgnore];
end;
procedure TSummaryFooterDemoMainForm.miMultiSelectClick(
Sender: TObject);
var
AView: TcxGridDBTableView;
begin
if not Assigned(Grid.FocusedView) then Exit;
with Sender as TMenuItem do
Checked := not Checked;
AView := TcxGridDBTableView(Grid.FocusedView);
AView.OptionsSelection.MultiSelect := (Sender as TMenuItem).Checked;
end;
procedure TSummaryFooterDemoMainForm.miFooterClick(Sender: TObject);
var
AView: TcxGridDBTableView;
begin
if not Assigned(Grid.FocusedView) then Exit;
with Sender as TMenuItem do
Checked := not Checked;
AView := TcxGridDBTableView(Grid.FocusedView);
AView.OptionsView.Footer := (Sender as TMenuItem).Checked;
end;
procedure TSummaryFooterDemoMainForm.GridFocusedViewChanged(
Sender: TcxCustomGrid; APrevFocusedView,
AFocusedView: TcxCustomGridView);
var
AView: TcxGridDBTableView;
begin
AView := TcxGridDBTableView(Grid.FocusedView);
miSelectedRecordOnly.Checked := soSelectedRecords in
AView.DataController.Summary.Options;
miIgnoreNullValues.Checked := soNullIgnore in
AView.DataController.Summary.Options;
miMultiSelect.Checked := AView.OptionsSelection.MultiSelect;
miFooter.Checked := AView.OptionsView.Footer;
end;
procedure TSummaryFooterDemoMainForm.FormShow(Sender: TObject);
begin
if SummaryFooterDemoDataDM.tblCars.Active then
begin
SummaryFooterDemoDataDM.tblCars.First;
if Assigned(tvCars.Controller.FocusedRecord) then
tvCars.Controller.FocusedRecord.Expanded := true;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?