git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@29 05c56307-c608-d34a-929d-697000501d7a
197 lines
7.1 KiB
ObjectPascal
197 lines
7.1 KiB
ObjectPascal
unit SimpleVerticalGridDemoMain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
|
|
cxStyles, cxMaskEdit, cxBlobEdit, cxCurrencyEdit, cxSpinEdit,
|
|
cxCheckBox, cxHyperLinkEdit, cxEditRepositoryItems, cxEdit,
|
|
cxLookAndFeels, ActnList, ImgList, Menus, cxInplaceContainer,
|
|
cxControls, ComCtrls, StdCtrls, DemoBasicMain, cxGraphics,
|
|
cxVGrid, cxDBVGrid, DB, DBClient, cxClasses, cxImage;
|
|
|
|
type
|
|
TSimpleVerticalGridDemoMainForm = class(TDemoBasicMainForm)
|
|
miView: TMenuItem;
|
|
miBehavior: TMenuItem;
|
|
miSeparator2: TMenuItem;
|
|
miExplorerStyleCategory: TMenuItem;
|
|
miHeaders: TMenuItem;
|
|
miGridLines: TMenuItem;
|
|
miIncSearch: TMenuItem;
|
|
miImmediateEditor: TMenuItem;
|
|
ImageList: TImageList;
|
|
cxEditRepository1: TcxEditRepository;
|
|
cxEditRepository1ImageComboBoxItem1: TcxEditRepositoryImageComboBoxItem;
|
|
cxEditRepository1ImageComboBoxItem2: TcxEditRepositoryImageComboBoxItem;
|
|
cxEditRepository1CalcItem1: TcxEditRepositoryCalcItem;
|
|
cxDBVerticalGrid: TcxDBVerticalGrid;
|
|
actHeaders: TAction;
|
|
actGridLines: TAction;
|
|
actExplorerStyleCategory: TAction;
|
|
actLayoutStyleBandsView: TAction;
|
|
actLayoutStyleMultiRecordView: TAction;
|
|
actLayoutStyleSingleRecordView: TAction;
|
|
LayoutStyle1: TMenuItem;
|
|
actLayoutStyleBandsView1: TMenuItem;
|
|
actLayoutStyleMultiRecordView1: TMenuItem;
|
|
actLayoutStyleSingleRecordView1: TMenuItem;
|
|
actBandSizing: TAction;
|
|
BandSizing1: TMenuItem;
|
|
actCellHints: TAction;
|
|
CellHints1: TMenuItem;
|
|
actRowSizing: TAction;
|
|
RowSizing1: TMenuItem;
|
|
actImmediateEditor: TAction;
|
|
fldTrademark: TcxDBEditorRow;
|
|
fldModel: TcxDBEditorRow;
|
|
fldCategory: TcxDBEditorRow;
|
|
rowPerformance_Attributes: TcxCategoryRow;
|
|
fldHP: TcxDBEditorRow;
|
|
fldLiter: TcxDBEditorRow;
|
|
fldCyl: TcxDBEditorRow;
|
|
fldTransmissSpeedCount: TcxDBEditorRow;
|
|
fldTransmissAutomatic: TcxDBEditorRow;
|
|
cxDBVerticalGrid1DBMultiEditorRow1: TcxDBMultiEditorRow;
|
|
rowNotes: TcxCategoryRow;
|
|
fldDescription: TcxDBEditorRow;
|
|
fldHyperlink: TcxDBEditorRow;
|
|
rowOthers: TcxCategoryRow;
|
|
fldPrice: TcxDBEditorRow;
|
|
fldPicture: TcxDBEditorRow;
|
|
PaintStyle1: TMenuItem;
|
|
Net1: TMenuItem;
|
|
Delphi1: TMenuItem;
|
|
cxDBVerticalGridID: TcxDBMultiEditorRow;
|
|
procedure miExplorerStyleCategoryClick(Sender: TObject);
|
|
procedure miHeadersClick(Sender: TObject);
|
|
procedure miGridLinesClick(Sender: TObject);
|
|
procedure miIncSearchClick(Sender: TObject);
|
|
procedure cxDBVerticalGridStylesGetContentStyle(Sender: TObject;
|
|
AEditProp: TcxCustomEditorRowProperties; AFocused: Boolean;
|
|
ARecordIndex: Integer; var AStyle: TcxStyle);
|
|
procedure LayOutStyleExecute(Sender: TObject);
|
|
procedure actBandSizingExecute(Sender: TObject);
|
|
procedure actCellHintsExecute(Sender: TObject);
|
|
procedure actRowSizingExecute(Sender: TObject);
|
|
procedure actImmediateEditorExecute(Sender: TObject);
|
|
procedure actPaintStyleExecute(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
end;
|
|
|
|
var
|
|
SimpleVerticalGridDemoMainForm: TSimpleVerticalGridDemoMainForm;
|
|
|
|
implementation
|
|
|
|
uses SimpleVerticalGridDemoData;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
LookAndFeelChange(miNativeStyle);
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.miExplorerStyleCategoryClick(Sender: TObject);
|
|
begin
|
|
TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsView.CategoryExplorerStyle := TMenuItem(Sender).Checked;
|
|
if TMenuItem(Sender).Checked then
|
|
cxDBVerticalGrid.Styles.Category := SimpleVerticalGridDemoMainDM.cxStyle1
|
|
else
|
|
cxDBVerticalGrid.Styles.Category := nil;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.miHeadersClick(Sender: TObject);
|
|
begin
|
|
TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsView.ShowHeaders := TMenuItem(Sender).Checked;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.miGridLinesClick(Sender: TObject);
|
|
begin
|
|
TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
|
|
if TMenuItem(Sender).Checked then
|
|
cxDBVerticalGrid.OptionsView.GridLines := vglBoth
|
|
else
|
|
cxDBVerticalGrid.OptionsView.GridLines := vglNone;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.miIncSearchClick(Sender: TObject);
|
|
begin
|
|
TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsBehavior.IncSearch := TMenuItem(Sender).Checked;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.cxDBVerticalGridStylesGetContentStyle(
|
|
Sender: TObject; AEditProp: TcxCustomEditorRowProperties;
|
|
AFocused: Boolean; ARecordIndex: Integer; var AStyle: TcxStyle);
|
|
begin
|
|
if ARecordIndex = cxDBVerticalGrid.DataController.FocusedRowIndex then
|
|
AStyle := SimpleVerticalGridDemoMainDM.cxStyle8
|
|
else
|
|
AStyle := SimpleVerticalGridDemoMainDM.cxStyle3;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.LayOutStyleExecute(
|
|
Sender: TObject);
|
|
begin
|
|
if not TMenuItem(Sender).Checked then
|
|
begin
|
|
TMenuItem(Sender).Checked := True;
|
|
cxDBVerticalGrid.LayoutStyle := TcxvgLayoutStyle(TMenuItem(Sender).Tag);
|
|
end;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.actBandSizingExecute(
|
|
Sender: TObject);
|
|
begin
|
|
TCustomAction(Sender).Checked := not TCustomAction(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsBehavior.BandSizing := TCustomAction(Sender).Checked
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.actCellHintsExecute(
|
|
Sender: TObject);
|
|
begin
|
|
TCustomAction(Sender).Checked := not TCustomAction(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsBehavior.CellHints := TCustomAction(Sender).Checked;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.actRowSizingExecute(
|
|
Sender: TObject);
|
|
begin
|
|
TCustomAction(Sender).Checked := not TCustomAction(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsBehavior.RowSizing := TCustomAction(Sender).Checked;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.actImmediateEditorExecute(
|
|
Sender: TObject);
|
|
begin
|
|
TCustomAction(Sender).Checked := not TCustomAction(Sender).Checked;
|
|
cxDBVerticalGrid.OptionsBehavior.ImmediateEditor := TCustomAction(Sender).Checked;
|
|
end;
|
|
|
|
procedure TSimpleVerticalGridDemoMainForm.actPaintStyleExecute(
|
|
Sender: TObject);
|
|
begin
|
|
if not TMenuItem(Sender).Checked then
|
|
begin
|
|
TMenuItem(Sender).Checked := True;
|
|
cxDBVerticalGrid.OptionsView.PaintStyle := TcxvgPaintStyle(TMenuItem(Sender).Tag);
|
|
case cxDBVerticalGrid.OptionsView.PaintStyle of
|
|
psdotNet: begin
|
|
cxDBVerticalGrid.Styles.StyleSheet := SimpleVerticalGridDemoMainDM.cxVerticalGridStyleSheetDevExpress;
|
|
cxDBVerticalGrid.Styles.OnGetContentStyle := cxDBVerticalGridStylesGetContentStyle;
|
|
end;
|
|
psDelphi: begin
|
|
cxDBVerticalGrid.Styles.StyleSheet := nil;
|
|
cxDBVerticalGrid.Styles.OnGetContentStyle := nil;
|
|
end;
|
|
end;
|
|
cxDBVerticalGrid.LayoutChanged;
|
|
end;
|
|
end;
|
|
|
|
end.
|