summarygroupdemomain.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 163 行
PAS
163 行
unit SummaryGroupDemoMain;
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, ToolWin, cxStyles, cxGraphics, cxFilter, cxData, cxEdit,
DB, cxDBData, cxClasses, cxDataStorage, cxDBLookupComboBox, cxCalendar,
cxImageComboBox, cxCalc, cxBlobEdit, cxSpinEdit, cxLookAndFeels;
type
TSummaryGroupDemoMainForm = class(TForm)
mmMain: TMainMenu;
miAbout: TMenuItem;
miFile: TMenuItem;
miOptions: TMenuItem;
miExit: TMenuItem;
miSummaries: TMenuItem;
Grid: TcxGrid;
tvOrders: TcxGridDBTableView;
tvOrdersCustomerID: TcxGridDBColumn;
tvOrdersPurchaseDate: TcxGridDBColumn;
tvOrdersPaymentType: TcxGridDBColumn;
tvOrdersPaymentAmount: TcxGridDBColumn;
tvOrdersDescription: TcxGridDBColumn;
tvOrdersQuantity: TcxGridDBColumn;
lbDescription: TLabel;
miSelectedRecordsOnly: TMenuItem;
miIgnoreNullValues: TMenuItem;
N1: TMenuItem;
miGroupFooter: TMenuItem;
miMultiSelect: TMenuItem;
miGroupFooterAlwaysShow: TMenuItem;
miGroupFooterNeverShow: TMenuItem;
miGroupFooterShowWhenExpand: TMenuItem;
cxGridPopupMenu1: TcxGridPopupMenu;
lvOrders: TcxGridLevel;
tvOrdersProductID: TcxGridDBColumn;
LookAndFeelController: TcxLookAndFeelController;
miGroupSummaryLayout: TMenuItem;
miGroupSummaryLayoutStandard: TMenuItem;
miGroupSummaryLayoutAlignWithColumns: TMenuItem;
miGroupSummaryLayoutAlignWithColumnsAndDistribute: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
miGroupFootersAtCarLevel: TMenuItem;
miGroupFootersAtCompanyLevel: TMenuItem;
procedure miAboutClick(Sender: TObject);
procedure miExitClick(Sender: TObject);
procedure miSelectedRecordsOnlyClick(Sender: TObject);
procedure miIgnoreNullValuesClick(Sender: TObject);
procedure miMultiSelectClick(Sender: TObject);
procedure miGroupFooterShowClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure miGroupSummaryLayoutClick(
Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure miGroupFootersAtLevelClick(Sender: TObject);
protected
procedure UpdateMenu;
public
{ Public declarations }
end;
var
SummaryGroupDemoMainForm: TSummaryGroupDemoMainForm;
implementation
{$R *.dfm}
uses
SummaryGroupDemoData, AboutDemoForm;
procedure TSummaryGroupDemoMainForm.UpdateMenu;
begin
miSelectedRecordsOnly.Checked := soSelectedRecords in tvOrders.DataController.Summary.Options;
miIgnoreNullValues.Checked := soNullIgnore in tvOrders.DataController.Summary.Options;
miGroupSummaryLayout[Ord(tvOrders.OptionsView.GroupSummaryLayout)].Checked := True;
miGroupFooter[Ord(tvOrders.OptionsView.GroupFooters)].Checked := True;
miGroupFootersAtCarLevel.Checked := tvOrdersProductID.Options.GroupFooters;
miGroupFootersAtCompanyLevel.Checked := tvOrdersCustomerID.Options.GroupFooters;
miMultiSelect.Checked := tvOrders.OptionsSelection.MultiSelect;
end;
procedure TSummaryGroupDemoMainForm.miAboutClick(Sender: TObject);
begin
ShowAboutDemoForm;
end;
procedure TSummaryGroupDemoMainForm.miExitClick(Sender: TObject);
begin
Close;
end;
procedure TSummaryGroupDemoMainForm.miSelectedRecordsOnlyClick(Sender: TObject);
begin
with tvOrders.DataController.Summary do
if soSelectedRecords in Options then
Options := Options - [soSelectedRecords]
else
Options := Options + [soSelectedRecords];
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.miIgnoreNullValuesClick(Sender: TObject);
begin
with tvOrders.DataController.Summary do
if soNullIgnore in Options then
Options := Options - [soNullIgnore]
else
Options := Options + [soNullIgnore];
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.miMultiSelectClick(Sender: TObject);
begin
with tvOrders.OptionsSelection do
MultiSelect := not MultiSelect;
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.miGroupFootersAtLevelClick(Sender: TObject);
var
AColumn: TcxGridColumn;
begin
if TMenuItem(Sender).Tag = 1 then
AColumn := tvOrdersProductID
else
AColumn := tvOrdersCustomerID;
with AColumn.Options do
GroupFooters := not GroupFooters;
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.miGroupFooterShowClick(Sender: TObject);
begin
tvOrders.OptionsView.GroupFooters := TcxGridGroupFootersMode(TMenuItem(Sender).MenuIndex);
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.miGroupSummaryLayoutClick(Sender: TObject);
begin
tvOrders.OptionsView.GroupSummaryLayout := TcxGridGroupSummaryLayout(TMenuItem(Sender).MenuIndex);
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.FormCreate(Sender: TObject);
begin
UpdateMenu;
end;
procedure TSummaryGroupDemoMainForm.FormShow(Sender: TObject);
begin
tvOrders.DataController.Groups.FullExpand;
tvOrders.Controller.GoToFirst;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?