云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > cxGrid的使用方法

cxGrid的使用方法

  • 62 次阅读
  • 3 次下载
  • 2025/5/24 13:51:06

FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miCustomFilter'; FMenuItem.Caption := '自定义过滤(&M)'; FMenuItem.OnClick := miCustomFilterClick; TPopupMenu(AMenu).Items.Add(FMenuItem);

//过滤管理器

FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miFilterBuilder';

TPopupMenu(AMenu).Images.AddImage(FormMain.ImageListExtend, 44); //添加图标图像 FMenuItem.ImageIndex := TPopupMenu(AMenu).Images.Count - 1; //指定图标序号 FMenuItem.Caption := '过滤管理器';

FMenuItem.OnClick := Self.miFilterBuilderClick; TPopupMenu(AMenu).Items.Add(FMenuItem);

//---------------------

FMenuItem := TMenuItem.Create(Self); FMenuItem.Caption := '-';

TPopupMenu(AMenu).Items.Add(FMenuItem);

//导出

FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miExport';

TPopupMenu(AMenu).Images.AddImage(FormMain.ImageListExtend, 37); FMenuItem.ImageIndex := TPopupMenu(AMenu).Images.Count - 1; FMenuItem.Caption := '导出(&E)';

FMenuItem.OnClick := Self.miExportClick; TPopupMenu(AMenu).Items.Add(FMenuItem);

//打印

FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miPrint';

FMenuItem.Caption := '打印(&P)';

TPopupMenu(AMenu).Images.AddImage(FormMain.ImageListExtend, 14); FMenuItem.ImageIndex := TPopupMenu(AMenu).Images.Count - 1; FMenuItem.OnClick := Self.miPrintClick; TPopupMenu(AMenu).Items.Add(FMenuItem); end; end;

procedure TFormItemList.miExportClick(Sender: TObject); var

FileName, FileExt, msg: String; begin

if Self.aqyQuery.IsEmpty then

begin

msg := '没有导出数据...';

Application.MessageBox(PChar(msg), PChar(Application.Title), MB_OK or MB_IconWarning); Exit; end;

Self.SaveDialogExport.Filter := 'Excel文件 (*.xls)|*.xls|XML文件 (*.xml)|*.xml' + '|文本文件 (*.txt)|*.txt|网页文件 (*.html)|*.html'; Self.SaveDialogExport.Title := '导出为';

if not Self.SaveDialogExport.Execute then Exit;

FileName := Self.SaveDialogExport.FileName; FileExt := LowerCase(ExtractFileExt(FileName)); if FileExt = '.xls' then

ExportGrid4ToExcel(FileName, Self.cxGrid1) else if FileExt = '.xml' then

ExportGrid4ToXML(FileName, Self.cxGrid1) else if FileExt = '.txt' then

ExportGrid4ToText(FileName, Self.cxGrid1) else if FileExt = '.html' then

ExportGrid4ToHTML(FileName, Self.cxGrid1) else begin

msg := '不支持的导出文件类型...';

Application.MessageBox(PChar(msg), PChar(Application.Title), MB_OK or MB_IconError); Exit; end;

msg := '导出完成...';

Application.MessageBox(PChar(msg), PChar(Application.Title), MB_OK or MB_IconInformation); end;

procedure TFormItemList.miPrintClick(Sender: TObject); begin //打印

Self.dxComponentPrinter.Preview(True, Self.dxComponentPrinterLink1); end;

procedure TFormItemList.cxGridPopupMenuPopup(ASenderMenu: TComponent;

AHitTest: TcxCustomGridHitTest; X, Y: Integer; var AllowPopup: Boolean); begin

if GetHitTypeByHitCode(AHitTest.HitTestCode) = gvhtColumnHeader then //右击列标题时 begin

//if tvResult.DataController.Groups.GroupingItemCount > 0 then if tvResult.GroupedColumnCount > 0 then //有分组时显示 begin

TMenuItem(Self.FindComponent('miLineForGroup')).Visible := True; TMenuItem(Self.FindComponent('miExpandAllGroup')).Visible := True; TMenuItem(Self.FindComponent('miCollapseAllGroup')).Visible := True; end else begin

TMenuItem(Self.FindComponent('miLineForGroup')).Visible := False; TMenuItem(Self.FindComponent('miExpandAllGroup')).Visible := False; TMenuItem(Self.FindComponent('miCollapseAllGroup')).Visible := False; end; end; end;

procedure TFormItemList.miFilterBuilderClick(Sender: TObject); begin

//过滤管理器

//弹出Filter Builder Dialog对话框 tvResult.Filtering.RunCustomizeDialog; end;

procedure TFormItemList.miCustomFilterClick(Sender: TObject); var

AHitTest: TcxCustomGridHitTest; begin

//自定义过滤

//弹出Custom Filter Dialog对话框

AHitTest := cxGridPopupMenu.HitTest;

if GetHitTypeByHitCode(AHitTest.HitTestCode) = gvhtColumnHeader then //获得右击的列 tvResult.Filtering.RunCustomizeDialog(TcxGridColumnHeaderHitTest(AHitTest).Column); end;

procedure TFormItemList.miFilterPanelClick(Sender: TObject); var

mi: TMenuItem; begin

//隐藏/显示过滤面板

mi := TMenuItem(Sender);

mi.Checked := True;

if mi.Name = 'miFilterPanelAlways' then tvResult.Filtering.Visible := fvAlways

else if mi.Name = 'miFilterPanelNerver' then tvResult.Filtering.Visible := fvNever else

tvResult.Filtering.Visible := fvNonEmpty; end;

procedure TFormItemList.miExpandAllGroupClick(Sender: TObject); begin

//展开所有组

tvResult.DataController.Groups.FullExpand; end;

procedure TFormItemList.miCollapseAllGroupClick(Sender: TObject); begin

//收缩所有组

tvResult.DataController.Groups.FullCollapse; end;

此楼回复Re:

在用,留名

此楼回复Re:

技巧三 按条件计算合计值

在Footer的第一列显示[合计:]

加一个Summary项,Column设为Grid的第一列,Kind设为skNone 在该Summary项的OnGetText事件中,输入:

procedure TFormExpense.tvExpenseTcxGridDBDataControllerTcxDataSummaryFooterSummaryItems2GetText(

Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: String); begin

AText := '合计:'; end;

按条件汇总:

在TableView的DataController->Summary->FooterSummary->OnSummary事件中,输入:

搜索更多关于: cxGrid的使用方法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miCustomFilter'; FMenuItem.Caption := '自定义过滤(&M)'; FMenuItem.OnClick := miCustomFilterClick; TPopupMenu(AMenu).Items.Add(FMenuItem); //过滤管理器 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := '

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com