CxGrid如何用鼠标右键自由选择统计类型阿 change the summary types (right mouse click on the group footer cell) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得很难的, 除非你改写TcxDBDataSummaryItem加上MouseMove事件.我的做法是在Cell中右击调用统计菜单, 代码如下希望对你有些帮忙.type TForm1 = class(TForm) tvcxgd1DBTableView1: TcxGridDBTableView; lvcxgd1Level1: TcxGridLevel; cxgd1: TcxGrid; ds1: TDataSource; qry1: TADOQuery; con1: TADOConnection; cltvcxgd1DBTableView1ID: TcxGridDBColumn; cltvcxgd1DBTableView1desr: TcxGridDBColumn; cltvcxgd1DBTableView1TEST: TcxGridDBColumn; cltvcxgd1DBTableView1Num: TcxGridDBColumn; pm1: TPopupMenu; btn1: TButton; procedure tvcxgd1DBTableView1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormCreate(Sender: TObject); private { Private declarations } procedure OnMenuItemClick(Sender:TObject); public { Public declarations } end;var Form1: TForm1;implementationuses TypInfo;{$R *.dfm}procedure TForm1.OnMenuItemClick(Sender: TObject);begin tvcxgd1DBTableView1.DataController.Summary.FooterSummaryItems[0].Kind:= TcxsummaryKind((sender as TMenuItem).tag) ;end;procedure TForm1.tvcxgd1DBTableView1CellClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);var Pt:TPoint;begin if AButton=mbright then begin GetCursorPos(Pt); pm1.Popup(Pt.X, Pt.Y); AHandled:=True; end;end;procedure TForm1.FormCreate(Sender: TObject);var MI:TMenuItem; MinValue, MaxValue, I:Integer; MiCaption:string;begin pm1.Items.Clear; MinValue:=GetTypeData(TypeInfo(TcxSummaryKind))^.MinValue; MaxValue:=GetTypeData(TypeInfo(TcxSummaryKind))^.MaxValue; for I:= MinValue to MaxValue do begin MI:=TMenuItem.Create(Self); MiCaption:=GetEnumName(TypeInfo(TcxSummaryKind), I); MiCaption:=Copy(MiCaption, 3, Length(MiCaption)-2); MI.Caption:=MiCaption; MI.Tag:=I; MI.OnClick:=OnMenuItemClick; pm1.Items.Add(MI); end;end;*********************************** 高级群号:16497064欢迎编程高手加入.*********************************** cxGrid似乎很难但是用Dev公司的另外一套类似Excel的控件就很简单! 如何编写 操作记录 功能? 数据库连接次数有限制么? 小女子这厢有理了! 想给500分系统不让:请问对象持久化的问题 怎么样在TreeView里面查找内容呀? DesignIntf ADO--SQL语言出错? 怎样拦截这样的消息,高手清进! 怎么执行存储过程呢??按钮下的代码exec proc,系统不认,怎么版??//牛虻 怎么在用户运行程序后,程序会自动加入“启动”项目中。 大家帮助我很急,在线等............ 显示人民币符号的问题
我的做法是在Cell中右击调用统计菜单, 代码如下希望对你有些帮忙.type
TForm1 = class(TForm)
tvcxgd1DBTableView1: TcxGridDBTableView;
lvcxgd1Level1: TcxGridLevel;
cxgd1: TcxGrid;
ds1: TDataSource;
qry1: TADOQuery;
con1: TADOConnection;
cltvcxgd1DBTableView1ID: TcxGridDBColumn;
cltvcxgd1DBTableView1desr: TcxGridDBColumn;
cltvcxgd1DBTableView1TEST: TcxGridDBColumn;
cltvcxgd1DBTableView1Num: TcxGridDBColumn;
pm1: TPopupMenu;
btn1: TButton;
procedure tvcxgd1DBTableView1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnMenuItemClick(Sender:TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses
TypInfo;
{$R *.dfm}procedure TForm1.OnMenuItemClick(Sender: TObject);
begin
tvcxgd1DBTableView1.DataController.Summary.FooterSummaryItems[0].Kind:=
TcxsummaryKind((sender as TMenuItem).tag) ;
end;procedure TForm1.tvcxgd1DBTableView1CellClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
Pt:TPoint;
begin
if AButton=mbright then begin
GetCursorPos(Pt);
pm1.Popup(Pt.X, Pt.Y);
AHandled:=True;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
var
MI:TMenuItem;
MinValue, MaxValue, I:Integer;
MiCaption:string;
begin
pm1.Items.Clear;
MinValue:=GetTypeData(TypeInfo(TcxSummaryKind))^.MinValue;
MaxValue:=GetTypeData(TypeInfo(TcxSummaryKind))^.MaxValue;
for I:= MinValue to MaxValue do begin
MI:=TMenuItem.Create(Self);
MiCaption:=GetEnumName(TypeInfo(TcxSummaryKind), I);
MiCaption:=Copy(MiCaption, 3, Length(MiCaption)-2);
MI.Caption:=MiCaption;
MI.Tag:=I;
MI.OnClick:=OnMenuItemClick;
pm1.Items.Add(MI);
end;
end;***********************************
高级群号:16497064欢迎编程高手加入.
***********************************