fastreport打印問題 |
尚未結案
|
dengguo
一般會員 發表:41 回覆:49 積分:23 註冊:2004-01-09 發送簡訊給我 |
我在打印時,是這樣寫的
-----------------------------------------------------
allprt.SQL.Clear;
allprt.SQL.Text:='select csbh from cg_cszl order by csbh';
allprt.Open;
while not allprt.Eof do
begin
h:=0;
yfdz_p1.active:=false;
yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString;
yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);
yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
yfdz_p1.active:=true;
yfdz_fr.showreport;
allprt.Next;
end;
allprt.Close;
------------------------------------------------------------------
這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面
請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後
最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH,
謝謝!! ###############################
初學delphi,請各位多多提點!謝謝!
###############################
|
chinyu
高階會員 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 我在打印時,是這樣寫的 ----------------------------------------------------- allprt.SQL.Clear; allprt.SQL.Text:='select csbh from cg_cszl order by csbh'; allprt.Open; while not allprt.Eof do begin h:=0; yfdz_p1.active:=false; yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString; yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date); yfdz_p1.active:=true; yfdz_fr.showreport; allprt.Next; end; allprt.Close; ------------------------------------------------------------------ 這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面 請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後 最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH, 謝謝!!好像是不能這樣的 但依你的程式看來應該不用如此做,只要一個報表使用兩個data band即可,在allprt的AfterScroll重新查詢yfdz_p1 |
chinyu
高階會員 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 我在打印時,是這樣寫的 ----------------------------------------------------- allprt.SQL.Clear; allprt.SQL.Text:='select csbh from cg_cszl order by csbh'; allprt.Open; while not allprt.Eof do begin h:=0; yfdz_p1.active:=false; yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString; yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date); yfdz_p1.active:=true; yfdz_fr.showreport; allprt.Next; end; allprt.Close; ------------------------------------------------------------------ 這樣每一個CSBH就會出現一個打印預覽界面,關掉一個才會出現下一個界面 請問:可不可以做到後面的CSBH選 出來打印的頁面追加到前一CSBH的打印頁面後 最後只出現一次打印預覽的界面,而預覽的內容是所有CSBH, 謝謝!! ############################### 初學delphi,請各位多多提點!謝謝! ###############################FastReport 3.X 已經可以這樣列印了 frxReport1.LoadFromFile('1.fr3'); frxReport1.PrepareReport; frxReport1.LoadFromFile('2.fr3'); frxReport1.PrepareReport(False); frxReport1.ShowPreparedReport; |
dengguo
一般會員 發表:41 回覆:49 積分:23 註冊:2004-01-09 發送簡訊給我 |
|
chinyu
高階會員 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 請問chinyu:是否用FR3在每次查詢一個CSBH後生成並保存一個.FR3,然後在最後SHOW所有的.FR3文件? ############################### 初學delphi,請各位多多提點!謝謝! ###############################.fr3檔是報表設計檔,當你設計報表時如果是存成檔案的話它預設的副檔名就是fr3。 依你的程式來說應如此改: frxReport1.LoadFromFile('XXX.fr3'); //載入 XXX.fr3 報表檔 allprt.SQL.Clear; allprt.SQL.Text:='select csbh from cg_cszl order by csbh'; allprt.Open; while not allprt.Eof do begin h:=0; yfdz_p1.active:=false; yfdz_p1.Parameters.ParamByName('@csbh').Value:=allprt.fieldbyname('csbh').AsString; yfdz_p1.Parameters.ParamByName('@t1').Value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); yfdz_p1.Parameters.ParamByName('@t2').Value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date); yfdz_p1.active:=true; if 第一次 frxReport1.PrepareReport; //產生第一個報表 else frxReport1.PrepareReport(False); //產生第二至n個報表 endif allprt.Next; end; frxReport1.ShowPreparedReport; //顯示已產生的報表 allprt.Close; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |