91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

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

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

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

一、效果展示

二、VS2022

界面設(shè)計(jì):

后端代碼

?
模板設(shè)計(jì)

項(xiàng)目文件

三、核心代碼

/// <summary>
/// 設(shè)計(jì)模板
/// </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){
// 獲取項(xiàng)目輸出目錄的路徑
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){ // 獲取項(xiàng)目輸出目錄的路徑
string outputDirectory = AppDomain.CurrentDomain.BaseDirectory;
report.Load($"{outputDirectory}\\Report.mrt");
report.RegData("TableVo"new WeightVo() { Code = "001", Name = "這是一個(gè)打印測(cè)試模板" });
report.Compile();
report.Show();}
/// <summary>
/// 打印模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e){
// 獲取項(xiàng)目輸出目錄的路徑
string outputDirectory = AppDomain.CurrentDomain.BaseDirectory;
report.Load($"{outputDirectory}\\Report.mrt");
report.RegData("TableVo"new WeightVo() { Code = "001", Name = "這是一個(gè)打印測(cè)試模板" });
report.Compile();
report.Print();
}

四、性能優(yōu)化

?首次加載慢?

提前初始化和編譯模板,減少運(yùn)行時(shí)延遲:

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

?多線程打印卡頓?

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

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

五、文字自動(dòng)縮放

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

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

在 Font 屬性中啟用 Auto 選項(xiàng) ?6。

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

五、常見(jiàn)問(wèn)題處理

?組件查找與操作

StiComponent component = report.GetComponentByName("ComponentName");  // 按名稱(chēng)查找組件 ?:ml-citation{ref="7" data="citationList"}component.Bookmark = "{Categories.CategoryName}";  // 添加書(shū)簽 ?: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? 公司開(kāi)發(fā)的一款跨平臺(tái)報(bào)表生成工具,主要用于設(shè)計(jì)和生成動(dòng)態(tài)數(shù)據(jù)驅(qū)動(dòng)的專(zhuān)業(yè)報(bào)表。其核心特性包括:

?多平臺(tái)支持?

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

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

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

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

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

典型使用場(chǎng)景

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

適用于財(cái)務(wù)系統(tǒng)、銷(xiāo)售統(tǒng)計(jì)等需要復(fù)雜報(bào)表展示的場(chǎng)景?。

?多平臺(tái)開(kāi)發(fā)?

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

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

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

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

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

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

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

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

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

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


閱讀原文:原文鏈接


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

主站蜘蛛池模板: 成人一级影院 | 国产一区视频观看 | www.操| 乱码在线观看 | 91夏晴子免费福利 | 国产视频xxxxx | 精品国产一 | 国产末成年女噜噜 | 日韩十国产十欧美 | 日韩欧美另类亚洲 | 97影院| 日韩成人福利片 | 精品国产午夜大片 | 九九精品成人 | 国产激情影视综合 | 国产亚洲制服免视频 | 91福利小视频 | 精品亚洲欧美日韩 | 人兽你懂得网站 | 精品免费在线视频 | 国产日韩欧美福利 | 区二区视频免费看 | 午夜福利在线影院 | 9久热草极品 | 精品欧美在| 92午夜福利手 | 午夜三级中文不 | www区一区二区三 | 成人午夜在线不卡 | 区一区二区三 | 三级a三级三级 | 欧美一级黄 | 91福利国产在线在 | 日韩中文字幕a加勒 | 午夜福利影视大全 | 国产高清在线免 | 日韩国产在线视频 | 国偷自拍| 午夜国产| 国产欧美日韩综合精 | 国产美女遭 |