📄 dxgrclms.pas
字号:
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridTimeColumn }
TdxDBGridTimeColumn = class(TdxDBTreeListTimeColumn)
public
property SummaryGroup;
published
property DisableFilter;
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridCurrencyColumn }
TdxDBGridCurrencyColumn = class(TdxDBTreeListCurrencyColumn)
public
property SummaryGroup;
published
property DisableFilter;
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridMemoColumn }
TdxDBGridMemoColumn = class(TdxDBTreeListMemoColumn)
public
property SummaryGroup;
published
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridGraphicColumn }
TdxDBGridGraphicColumn = class(TdxDBTreeListGraphicColumn)
public
property SummaryGroup;
published
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridMRUColumn }
TdxDBGridMRUColumn = class(TdxDBTreeListMRUColumn)
public
property SummaryGroup;
published
property DisableFilter;
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
{ TdxDBGridWrapperColumn }
TdxDBGridWrapperColumn = class(TdxDBTreeListWrapperColumn)
public
property SummaryGroup;
published
property GroupIndex;
property SummaryType;
property SummaryField;
property SummaryFormat;
property SortBySummary;
property OnSummary;
property SummaryGroupName;
property SummaryFooterType;
property SummaryFooterField;
property SummaryFooterFormat;
property OnSummaryFooter;
property OnDrawSummaryFooter;
end;
implementation
{ TdxDBGridCheckColumn }
procedure TdxDBGridCheckColumn.Assign(Source: TPersistent);
begin
if Source is TdxDBGridCheckColumn then
begin
if Assigned(ATreeList) then ATreeList.BeginUpdate;
try
inherited Assign(Source);
DisplayChecked := TdxDBGridCheckColumn(Source).DisplayChecked;
DisplayUnChecked := TdxDBGridCheckColumn(Source).DisplayUnChecked;
DisplayNull := TdxDBGridCheckColumn(Source).DisplayNull;
finally
if Assigned(ATreeList) then ATreeList.EndUpdate;
end;
end
else
inherited Assign(Source);
end;
procedure TdxDBGridCheckColumn.RestoreDefaults;
begin
inherited RestoreDefaults;
FDisplayCheck := '';
FDisplayUnCheck := '';
FDisplayNull := '';
end;
function TdxDBGridCheckColumn.GetGroupText(const Value: string): string;
var
AState: TdxCheckBoxState;
begin
Result := Value;
AState := GetCheckBoxState(Value);
case AState of
cbsGrayed: if FDisplayNull <> '' then Result := FDisplayNull;
cbsChecked: if FDisplayCheck <> '' then Result := FDisplayCheck;
cbsUnchecked: if FDisplayUnCheck <> '' then Result := FDisplayUnCheck;
end;
end;
type
TCustomdxFilterImageEditWrapper = class(TCustomdxFilterImageEdit);
procedure TdxDBGridCheckColumn.PrepareFilterEdit(AEdit: TdxInplaceEdit);
begin
inherited PrepareFilterEdit(AEdit);
if AEdit is TCustomdxFilterImageEdit then
with TCustomdxFilterImageEditWrapper(AEdit) do
begin
if (DisplayChecked <> '') or (DisplayUnChecked <> '') or (DisplayNull <> '') then
begin
Descriptions.Clear;
Descriptions.Add(FDisplayNull);
Descriptions.Add(FDisplayUnCheck);
Descriptions.Add(FDisplayCheck);
end;
end;
end;
procedure TdxDBGridCheckColumn.SetDisplayCheck(const Value: string);
begin
if FDisplayCheck <> Value then
begin
FDisplayCheck := Value;
Changed(True);
end;
end;
procedure TdxDBGridCheckColumn.SetDisplayUnCheck(const Value: string);
begin
if FDisplayUnCheck <> Value then
begin
FDisplayUnCheck := Value;
Changed(True);
end;
end;
procedure TdxDBGridCheckColumn.SetDisplayNull(const Value: string);
begin
if FDisplayNull <> Value then
begin
FDisplayNull := Value;
Changed(True);
end;
end;
{ TdxDBGridImageColumn }
function TdxDBGridImageColumn.GetGroupText(const Value: string): string;
var
AImageIndex, ADescIndex: Integer;
begin
GetIndexes(Value, AImageIndex, ADescIndex);
if (0 <= ADescIndex) and (ADescIndex < Descriptions.Count) then
Result := Descriptions[ADescIndex]
else Result := Value;
end;
{ InitDBGridColumnList }
procedure InitDBGridColumnList(AFieldType: TFieldType; AFieldKind: TFieldKind;
var Info: TdxDBTreeListColumnClassInfo);
const
AVer = 1;
begin
if AFieldKind <> fkLookup then
begin
case AFieldType of
ftBoolean: Info.ColumnClass := TdxDBGridCheckColumn;
ftDate, ftDateTime: Info.ColumnClass := TdxDBGridDateColumn;
ftTime: Info.ColumnClass := TdxDBGridTimeColumn;
ftCurrency, ftBCD: Info.ColumnClass := TdxDBGridCurrencyColumn;
ftMemo: Info.ColumnClass := TdxDBGridMemoColumn;
ftGraphic: Info.ColumnClass := TdxDBGridGraphicColumn;
ftBytes, ftVarBytes, ftBlob, ftFmtMemo, ftParadoxOle,
ftDBaseOle, ftTypedBinary{$IFDEF DELPHI5}, ftOraBlob, ftOraClob{$ENDIF}:
Info.ColumnClass := TdxDBGridBlobColumn;
else
Info.ColumnClass := TdxDBGridMaskColumn;
end;
Info.Version := AVer;
end
else {lookup}
begin
Info.ColumnClass := TdxDBGridLookupColumn;
Info.Version := AVer;
end;
end;
initialization
Classes.RegisterClasses([TdxDBGridButtonColumn, TdxDBGridDateColumn,
TdxDBGridCheckColumn, TdxDBGridImageColumn, TdxDBGridSpinColumn,
TdxDBGridLookupColumn, TdxDBGridPickColumn, TdxDBGridCalcColumn,
TdxDBGridBlobColumn,
TdxDBGridHyperLinkColumn, TdxDBGridTimeColumn, TdxDBGridCurrencyColumn,
TdxDBGridMemoColumn, TdxDBGridGraphicColumn, TdxDBGridMRUColumn,
TdxDBGridWrapperColumn]);
InitDefaultDBGridColumnClasses(InitDBGridColumnList);
finalization
ResetDefaultDBGridColumnClasses;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -