Componentes.Terceros.DevExp.../official/x.19/ExpressQuantumGrid 5/Demos/Delphi/ConvertGrid3MasterDetailDemo/ConvertGrid3MasterDetailDemoMain.pas
2007-09-09 11:27:22 +00:00

123 lines
4.0 KiB
ObjectPascal

unit ConvertGrid3MasterDetailDemoMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, cxGridLevel, cxControls, cxGrid, StdCtrls, ExtCtrls, Menus,
ImgList, ActnList, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGridCustomView, ComCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxEdit, DB, cxDBData, cxClasses,
cxLookAndFeels;
type
TConvertGrid3MasterDetailDemoMainForm = class(TForm)
mmMain: TMainMenu;
miFile: TMenuItem;
miExit: TMenuItem;
miOptions: TMenuItem;
miGrid4: TMenuItem;
miAbout: TMenuItem;
StatusBar: TStatusBar;
lbDescrip: TLabel;
miGrid4MasterDetailStyle: TMenuItem;
miGrid3MasterDetailStyle: TMenuItem;
pnlGrids: TPanel;
LookAndFeelController: TcxLookAndFeelController;
procedure miAboutClick(Sender: TObject);
procedure miExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure miMasterDetailStyleClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
procedure SetGrid3MasterDetailStyle; // Standard two grid style
procedure SetGrid4MasterDetailStyle; // Grid4 single grid style
end;
var
ConvertGrid3MasterDetailDemoMainForm: TConvertGrid3MasterDetailDemoMainForm;
implementation
{$R *.dfm}
uses
cxGridDBDataDefinitions, ConvertGrid3MasterDetailDemoData,
ConvertGrid3MasterDetailDemoGrids, AboutDemoForm;
procedure TConvertGrid3MasterDetailDemoMainForm.miAboutClick(Sender: TObject);
begin
ShowAboutDemoForm;
end;
procedure TConvertGrid3MasterDetailDemoMainForm.miExitClick(Sender: TObject);
begin
Close;
end;
procedure TConvertGrid3MasterDetailDemoMainForm.SetGrid4MasterDetailStyle;
// Display in Grid4 single grid style
begin
// remove master/detail link in the data module
ConvertGrid3MasterDetailDemoDataDM.tblOrders.MasterSource := nil;
ConvertGrid3MasterDetailDemoGridsForm.dxDBGridCars.DataSource := nil;
ConvertGrid3MasterDetailDemoGridsForm.dxDBGridOrders.DataSource := nil;
ConvertGrid3MasterDetailDemoGridsForm.cxGrid1DBBandedTableView1.DataController.DataSource :=
ConvertGrid3MasterDetailDemoDataDM.dsCars;
ConvertGrid3MasterDetailDemoGridsForm.cxGrid1DBTableView1.DataController.DataSource :=
ConvertGrid3MasterDetailDemoDataDM.dsOrders;
with ConvertGrid3MasterDetailDemoGridsForm do
begin
tsGrid4Mode.Parent := pnlGrids;
tsGrid4Mode.Visible := True;
tsGrid3Mode.Parent := pcGrids;
end;
end;
procedure TConvertGrid3MasterDetailDemoMainForm.SetGrid3MasterDetailStyle;
// Display in standard two grid style
begin
ConvertGrid3MasterDetailDemoGridsForm.cxGrid1DBBandedTableView1.DataController.DataSource := nil;
ConvertGrid3MasterDetailDemoGridsForm.cxGrid1DBTableView1.DataController.DataSource := nil;
ConvertGrid3MasterDetailDemoGridsForm.dxDBGridCars.DataSource :=
ConvertGrid3MasterDetailDemoDataDM.dsCars;
ConvertGrid3MasterDetailDemoGridsForm.dxDBGridOrders.DataSource :=
ConvertGrid3MasterDetailDemoDataDM.dsOrders;
// restore master/detail link in the data module
ConvertGrid3MasterDetailDemoDataDM.tblOrders.MasterSource :=
ConvertGrid3MasterDetailDemoDataDM.dsCars;
with ConvertGrid3MasterDetailDemoGridsForm do
begin
tsGrid3Mode.Parent := pnlGrids;
tsGrid3Mode.Visible := True;
tsGrid4Mode.Parent := pcGrids;
end;
end;
procedure TConvertGrid3MasterDetailDemoMainForm.FormShow(Sender: TObject);
begin
miMasterDetailStyleClick(miGrid3MasterDetailStyle);
end;
procedure TConvertGrid3MasterDetailDemoMainForm.miMasterDetailStyleClick(
Sender: TObject);
begin
TMenuItem(Sender).Checked := True;
Case TMenuItem(Sender).Tag of
0: SetGrid4MasterDetailStyle;
1: SetGrid3MasterDetailStyle;
end
end;
procedure TConvertGrid3MasterDetailDemoMainForm.FormCloseQuery(
Sender: TObject; var CanClose: Boolean);
begin
SetGrid3MasterDetailStyle;
end;
end.