国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

ReportBuilder設置打印頁范圍技巧

2019-11-18 17:59:27
字體:
來源:轉載
供稿:網(wǎng)友

2005-6-23 fh@mail.trisunwyse.com
技術原理
     通過在TpPReport的BeforePrint事件中對TPrinterDevice的PageSetting屬性和PageList屬性進行賦值
為何要如此處理?
根據(jù)分析ReportBuilder源碼,我們得到如下的調(diào)用順序TppViewer -> TppProducer -> TppPrinterDevice -> TppPageRequest -> TppPublisher,其中 TppPageRequest 封裝了打印頁范圍信息,而TppPrinterDevice 負責將指定的頁發(fā)送到PrinterCanvas

實現(xiàn)步驟
  1、在調(diào)用單元聲明一個類私有變量,用于保存打印頁范圍
  type
    ...
  private
    sPageRange: string;
    ...
  end;
  2、在調(diào)用單元聲明一個類私有過程,用于處理TppReport.BeforePrint事件
procedure TfrmMain.ppReportBeforePrint(Sender: TObject);
begin
  if Sender is TppReport then
    if (Sender as TppReport).PrinterDevice <> nil then
    begin
      (Sender as TppReport).PrinterDevice.PageSetting := psPageList;
      PPTextToPageList(sPageRange, (Sender as TppReport).PrinterDevice.PageList, True);
    end;
end;
  3、在打印之前設置打印頁范圍,將TppReport.BeforePrint引導到自定義過程
  sPageRange := '3-5';
  (ppViewer1.Report as TppReport).BeforePrint := ppReportBeforePrint;
  (ppViewer1.Report as TppReport).ShowPrintDialog := False;
  ppViewer1.Print;

注意事項
  1,如果找不到TppReport類別,在接口引用單元添加ppReport單元
  2,如果找不到psPageList類別,在接口引用單元添加ppTypes單元
  3,如果找不到ppTextToPageList函數(shù),在接口引用單元添加ppUtils單元
  4,sPageRange可以定義三種類型的頁范圍
     A:起止頁:'3-10'//連接線分隔
     B:分隔頁:'3,5,7'//逗號分隔
     C:單獨頁:'7'



上一篇:讓Fastreport3.x支持中文PDF的輸出

下一篇:以遠程計算機上的用戶身份訪問Com+應用

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關注

主站蜘蛛池模板: 荆州市| 樟树市| 射阳县| 邓州市| 十堰市| 巨鹿县| 通江县| 通榆县| 青冈县| 云和县| 七台河市| 德钦县| 花莲县| 澎湖县| 吉安市| 五河县| 屏南县| 衡东县| 泰安市| 南投市| 云阳县| 方正县| 开平市| 石嘴山市| 柳江县| 新河县| 留坝县| 刚察县| 娱乐| 宜宾市| 陈巴尔虎旗| 伊通| 故城县| 曲阜市| 阳信县| 玉田县| 文成县| 咸丰县| 清远市| 溆浦县| 鄂州市|