cxgridheaderpopupmenuitems.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 651 行 · 第 1/2 页
PAS
651 行
AGroupIndex := -1
else
AGroupIndex := HitGridView.GroupedColumnCount;
HitColumn.GroupBy(AGroupIndex);
finally
HitGridView.EndUpdate;
end;
TcxGridTableViewAccess.DoColumnPosChanged(HitGridView, HitColumn);
end;
function TcxGridGroupByThisField.GetCaption: string;
begin
if HitColumn.GroupIndex <> -1 then
ResCaption := @cxSGridRemoveThisGroupItem
else
ResCaption := @cxSGridGroupByThisField;
Result := inherited GetCaption;
end;
function TcxGridGroupByThisField.GetEnabled: Boolean;
begin
Result := TcxCustomGridTableItemAccess.CanGroup(HitColumn);
end;
function TcxGridGroupByThisField.GetImageResourceName: string;
begin
Result := AImageName + '3';
end;
function TcxGridGroupByThisField.GetVisible: Boolean;
begin
Result := HitGridView.OptionsCustomize.ColumnGrouping;
end;
{ TcxGridGroupByBox }
constructor TcxGridGroupByBox.Create;
begin
inherited;
ResCaption := @cxSGridGroupByBox;
end;
procedure TcxGridGroupByBox.Execute(Sender: TObject);
begin
GridOperationHelper.DoShowGroupingPanel(not GridOperationHelper.IsGroupingPanelShowing);
end;
function TcxGridGroupByBox.GetDown: Boolean;
begin
Result := GridOperationHelper.IsGroupingPanelShowing;
end;
function TcxGridGroupByBox.GetImageResourceName: string;
begin
Result := AImageName + '7';
end;
function TcxGridGroupByBox.GetVisible: Boolean;
begin
Result := HitGridView.OptionsCustomize.ColumnGrouping;
end;
{ TcxGridAligmentSubMenu }
constructor TcxGridAlignmentSubMenu.Create;
begin
inherited;
ResCaption := @cxSGridAlignmentSubMenu;
end;
function TcxGridAlignmentSubMenu.GetVisible: Boolean;
begin
Result := HitColumn.Properties <> nil;
end;
{ TcxGridAlignLeft }
procedure TcxGridAlign.Execute(Sender: TObject);
begin
case Tag of
0: HitColumn.GetProperties.Alignment.Horz := taLeftJustify;
1: HitColumn.GetProperties.Alignment.Horz := taRightJustify;
2: HitColumn.GetProperties.Alignment.Horz := taCenter;
end;
end;
function TcxGridAlign.GetDown: Boolean;
var
AProperties: TcxCustomEditProperties;
begin
AProperties := HitColumn.GetProperties;
case Tag of
0: Result := AProperties.Alignment.Horz = taLeftJustify;
1: Result := AProperties.Alignment.Horz = taRightJustify;
else
Result := AProperties.Alignment.Horz = taCenter;
end;
end;
function TcxGridAlign.GetEnabled: Boolean;
begin
Result := esoHorzAlignment in HitColumn.GetProperties.GetSupportedOperations;
end;
class function TcxGridAlign.GetParentOperationClass: TcxGridPopupMenuOperationClass;
begin
Result := TcxGridAlignmentSubMenu;
end;
{ TcxGridAlignLeft }
constructor TcxGridAlignLeft.Create;
begin
inherited;
ResCaption := @cxSGridAlignLeft;
Tag := 0;
end;
function TcxGridAlignLeft.GetImageResourceName: string;
begin
Result := AImageName + '4';
end;
{ TcxGridAlignRight }
constructor TcxGridAlignRight.Create;
begin
inherited;
ResCaption := @cxSGridAlignRight;
Tag := 1;
end;
function TcxGridAlignRight.GetImageResourceName: string;
begin
Result := AImageName + '5';
end;
{ TcxGridAlignCenter }
constructor TcxGridAlignCenter.Create;
begin
inherited;
ResCaption := @cxSGridAlignCenter;
Tag := 2;
end;
function TcxGridAlignCenter.GetImageResourceName: string;
begin
Result := AImageName + '6';
end;
{ TcxGridBestFit }
constructor TcxGridBestFit.Create;
begin
inherited;
ResCaption := @cxSGridBestFit;
end;
procedure TcxGridBestFit.Execute(Sender: TObject);
begin
HitColumn.ApplyBestFit(True, True);
end;
function TcxGridBestFit.GetEnabled: Boolean;
begin
Result := TcxCustomGridTableItemAccess.CanHorzSize(HitColumn);
end;
function TcxGridBestFit.GetImageResourceName: string;
begin
Result := AImageName + '9';
end;
function TcxGridBestFit.GetVisible: Boolean;
begin
Result := HitGridView.OptionsCustomize.ColumnHorzSizing;
end;
{ TcxGridBestFitAllColumns }
constructor TcxGridBestFitAllColumns.Create;
begin
inherited;
ResCaption := @cxSGridBestFitAllColumns;
end;
procedure TcxGridBestFitAllColumns.Execute(Sender: TObject);
begin
TcxCustomGridTableView(HitGridView).ApplyBestFit(nil, True, True);
end;
function TcxGridBestFitAllColumns.GetVisible: Boolean;
begin
Result := HitGridView.OptionsCustomize.ColumnHorzSizing;
end;
{ TcxGridCustColumns }
constructor TcxGridRemoveColumn.Create;
begin
inherited;
ResCaption := @cxSGridRemoveColumn;
end;
procedure TcxGridRemoveColumn.Execute(Sender: TObject);
begin
HitColumn.Visible := False;
TcxGridTableViewAccess.DoColumnPosChanged(HitGridView, HitColumn);
end;
function TcxGridRemoveColumn.GetVisible: Boolean;
begin
Result := TcxCustomGridTableItemAccess.CanHide(HitColumn);
end;
{ TcxGridFieldChoozer }
constructor TcxGridFieldChooser.Create;
begin
inherited;
ResCaption := @cxSGridFieldChooser;
end;
procedure TcxGridFieldChooser.Execute(Sender: TObject);
begin
GridOperationHelper.DoShowColumnCustomizing(
not GridOperationHelper.IsColumnsCustomizingShowing);
end;
function TcxGridFieldChooser.GetDown: Boolean;
begin
Result := GridOperationHelper.IsColumnsCustomizingShowing;
end;
function TcxGridFieldChooser.GetImageResourceName: string;
begin
Result := AImageName + '8';
end;
{ TcxGridShowFooter }
constructor TcxGridShowFooter.Create;
begin
inherited;
ResCaption := @cxSGridShowFooter;
end;
procedure TcxGridShowFooter.Execute(Sender: TObject);
begin
GridOperationHelper.DoShowSummaryFooter(
not GridOperationHelper.IsSummaryFooterShowing);
end;
function TcxGridShowFooter.GetDown: Boolean;
begin
Result := GridOperationHelper.IsSummaryFooterShowing;
end;
function TcxGridShowFooter.GetImageResourceName: string;
begin
Result := AImageName + '10';
end;
{ TcxGridShowGroupFooter }
constructor TcxGridShowGroupFooter.Create;
begin
inherited;
ResCaption := @cxSGridShowGroupFooter;
end;
procedure TcxGridShowGroupFooter.Execute(Sender: TObject);
begin
with HitGridView.OptionsView do
if GroupFooters = gfInvisible then
GroupFooters := PrevGroupFooters
else
GroupFooters := gfInvisible;
end;
function TcxGridShowGroupFooter.GetDown: Boolean;
begin
Result := HitGridView.OptionsView.GroupFooters <> gfInvisible;
end;
function TcxGridShowGroupFooter.GetEnabled: Boolean;
begin
Result := HitGridView.GroupedColumnCount <> 0;
end;
function TcxGridShowGroupFooter.GetImageResourceName: string;
begin
Result := AImageName + '11';
end;
function TcxGridShowGroupFooter.GetVisible: Boolean;
begin
with HitGridView do
Result := (GroupedColumnCount <> 0) or OptionsCustomize.ColumnGrouping;
end;
{ TcxGridHeaderPopupMenuOperations }
procedure TcxGridHeaderPopupMenuOperations.AddItems;
begin
AddItem(TcxGridSortColumnAsc);
AddItem(TcxGridSortColumnDesc);
AddItem(TcxGridClearSorting);
AddItem(TcxGridGroupByThisField).BeginGroup := True;
AddItem(TcxGridGroupByBox);
AddItem(TcxGridShowFooter).BeginGroup := True;
AddItem(TcxGridShowGroupFooter);
AddItem(TcxGridRemoveColumn).BeginGroup := True;
AddItem(TcxGridFieldChooser);
AddItem(TcxGridAlignmentSubMenu).BeginGroup := True;
AddItem(TcxGridAlignLeft);
AddItem(TcxGridAlignRight);
AddItem(TcxGridAlignCenter);
AddItem(TcxGridBestFit);
AddItem(TcxGridBestFitAllColumns).BeginGroup := True;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?