环思产品论坛
标题:
报表中对数据集排序、筛选及回写打印时间
[打印本页]
作者:
zhouyangping
时间:
2014-12-11 10:55
标题:
报表中对数据集排序、筛选及回写打印时间
本帖最后由 zhouyangping 于 2014-12-11 11:30 编辑
排序
在报表代码里 begin end 中第一行写
begin
TCustomADODataSet(TfrxDBDataSet(MasterData1.DataSet).DataSet).Sort :='sSalesGroupName,sSalesName';
end.
复制代码
或
begin
TCustomADODataSet(TfrxDBDataSet(Report.GetDataset('NAME')).DataSet).Sort :='sSalesGroupName,sSalesName';
end.
复制代码
筛选
在报表代码里 begin end 中第一行写
begin
TCustomADODataSet(TfrxDBDataSet(MasterData1.DataSet).DataSet).Filter := 'bSelected=1';
TCustomADODataSet(TfrxDBDataSet(MasterData1.DataSet).DataSet).Filtered := True;
end.
复制代码
回写打印时间示例
var
slist:string;
procedure Page1OnBeforePrint(Sender: TfrxComponent);
var
qry:TCustomADODataSet;
begin
qry := TCustomADODataSet(TfrxDBDataSet(Report.getDataSet('查询结果1')).DataSet);
qry.Filter :='bSelected=1';
qry.Filtered := True;
slist := '';
qry.First;
while not qry.Eof do
begin
qry.Next;
slist := slist + ','''+qry.FieldByName('uGUID').AsString+'''';
end;
if slist <> '' then
delete(slist,1,1);
end;
procedure rptMainOnReportPrint(Sender: TfrxComponent);
var
up:TfrxADOQuery;
begin
if slist <> '' then
begin
up := TfrxAdoQuery.Create(nil);
try
up.SQL.Text :='update mmhwInDtl set tInprintTime=getdate() where uguid in ('+slist+')';
up.execsql;
finally
up.Free;
end;
end;
end;
begin
end.
复制代码
欢迎光临 环思产品论坛 (http://bbs.huansi.cn/)
Powered by Discuz! X3.2