LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# WinForm實現(xiàn)打印模板自定義、預(yù)覽、打印功能

admin
2025年3月24日 23:31 本文熱度 748

一、效果展示

二、VS2022

界面設(shè)計:

后端代碼

?
模板設(shè)計

項目文件

三、核心代碼

/// <summary>
/// 設(shè)計模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){ StiDesigner designer = new StiDesigner(report);
StiDesigner.SavingReport += StiDesigner_SavingReport;
report.RegData("TableVo"new WeightVo() { Code = "", Name = "" });
report.Compile();
report.Design();}
/// <summary>
/// 保存模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>private void StiDesigner_SavingReport(object sender, StiSavingObjectEventArgs e){
// 獲取項目輸出目錄的路徑
string outputDirectory = AppDomain.CurrentDomain.BaseDirectory;
report.Save($"{outputDirectory}\\Report.mrt");
MessageBox.Show("保存成功!");}
/// <summary>
/// 預(yù)覽模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e){ // 獲取項目輸出目錄的路徑
string outputDirectory = AppDomain.CurrentDomain.BaseDirectory;
report.Load($"{outputDirectory}\\Report.mrt");
report.RegData("TableVo"new WeightVo() { Code = "001", Name = "這是一個打印測試模板" });
report.Compile();
report.Show();}
/// <summary>
/// 打印模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e){
// 獲取項目輸出目錄的路徑
string outputDirectory = AppDomain.CurrentDomain.BaseDirectory;
report.Load($"{outputDirectory}\\Report.mrt");
report.RegData("TableVo"new WeightVo() { Code = "001", Name = "這是一個打印測試模板" });
report.Compile();
report.Print();
}

四、性能優(yōu)化

?首次加載慢?

提前初始化和編譯模板,減少運行時延遲:

report = new StiReport();report.Load(strPath);  report.Dictionary.Synchronize();  // 提前加載并同步 ?:ml-citation{ref="2" data="citationList"}

?多線程打印卡頓?

避免重復(fù)加載模板,直接渲染已編譯的報表:

//report.Load(strPath);  // 注釋掉重復(fù)加載report.Render();  StiPrinterSettings settings = new StiPrinterSettings();  // 配置打印參數(shù) ?:ml-citation{ref="2" data="citationList"}

五、文字自動縮放

通過設(shè)計器調(diào)整文本框?qū)傩砸赃m配內(nèi)容:

選中文本框 → 設(shè)置 AutoWidth 和 AutoHeight 為 true。

在 Font 屬性中啟用 Auto 選項 ?6。

調(diào)整文本框尺寸后運行驗證效果。

五、常見問題處理

?組件查找與操作

StiComponent component = report.GetComponentByName("ComponentName");  // 按名稱查找組件 ?:ml-citation{ref="7" data="citationList"}component.Bookmark = "{Categories.CategoryName}";  // 添加書簽 ?:ml-citation{ref="7" data="citationList"}

?排序設(shè)置

DataBand1.Sort = new string?:ml-citation{ref="2" data="citationList"} { "ASC""Name" };  // 按字段升序排列 ?:ml-citation{ref="7" data="citationList"}

StiReport 核心定義與功能

?StiReport? 是 ?Stimulsoft? 公司開發(fā)的一款跨平臺報表生成工具,主要用于設(shè)計和生成動態(tài)數(shù)據(jù)驅(qū)動的專業(yè)報表。其核心特性包括:

?多平臺支持?

支持在 ?WinForms?、?ASP.NET?、?.NET Core?、?JavaScript?、?WPF? 等環(huán)境中使用,適用于桌面、Web 及移動端應(yīng)用開發(fā)?。

?動態(tài)數(shù)據(jù)綁定?

可靈活綁定數(shù)據(jù)庫表、對象列表等數(shù)據(jù)源,支持運行時動態(tài)更新數(shù)據(jù)。例如,通過 RegData 方法注冊數(shù)據(jù)表并同步字典以識別新字段?。

?模板設(shè)計與導(dǎo)出?

通過 .mrt 模板文件定義報表布局,支持導(dǎo)出為 ?PDF?、?Excel?、?HTML? 等格式,并集成打印功能?。

典型使用場景

?企業(yè)級應(yīng)用?

適用于財務(wù)系統(tǒng)、銷售統(tǒng)計等需要復(fù)雜報表展示的場景?。

?多平臺開發(fā)?

在混合技術(shù)棧(如 WinUI、PHP、Java)中統(tǒng)一報表生成邏輯,減少重復(fù)開發(fā)成本?。

?動態(tài)數(shù)據(jù)需求?

處理頻繁變化的數(shù)據(jù)源,例如實時庫存報告或訂單狀態(tài)更新?。

技術(shù)實現(xiàn)要點

?模板加載與優(yōu)化?

首次加載模板時建議預(yù)編譯并同步數(shù)據(jù)字典,避免運行時延遲?。

?數(shù)據(jù)源管理?

動態(tài)更新數(shù)據(jù)前需清除舊數(shù)據(jù)源(Dictionary.DataSources.Clear()),防止殘留數(shù)據(jù)沖突?。

與其他報表工具的區(qū)別

StiReport 強調(diào) ?跨平臺兼容性? 和 ?動態(tài)數(shù)據(jù)交互能力?,其設(shè)計器提供可視化操作界面,降低代碼依賴,適合快速生成復(fù)雜格式的報表?。


閱讀原文:原文鏈接


該文章在 2025/3/25 10:37:47 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲精品美女久久久久99 | 午夜福利在线播放 | 在线观看国产激情麻豆 | 亚洲精品天堂久久 | 亚洲精品萝福利莉在线 | 视频国产精品熟女 |