資源簡介
在征詢建議的基礎上進行了補全修改,正式寫為DLL,可以完成基本的報表定制、打印功能。在程序設計中,很多時候報表不需要那么龐雜的功能,一些小程序的數據庫報表只需要簡單處理,就沒必要安裝FastReport、Crystal Reports、DevExpress等龐大組件了。由于為前面征詢意見的補全,所以不需分數。
此程序代碼可優化、功能可添加,自行完善修改。
1、調用方式:將EzReport_Build.dll添加到引用中,將fontawesome-webfont.ttf字庫文件放置在一起
private void button1_Click(object sender, EventArgs e)
{
Form_Desing.Initialize_Design();
}
即可,也可將Preview.cs、Form_Desing.cs中的private PanelEx修改為public PanelEx,在你的Form中直接嵌入調用,比如打印、預覽比例等函數有些已設置為public,也可將需要的函數和組件設為public直接調用。
數據庫定義在:Define_DataLink.cs
繪制定義在:Draw_Function.cs
報表組件、界面顏色等定義在:Define_Global.cs
界面等其他附屬在ui文件夾
2、 打印模式
設置dpi為96,SetResolution(96, 96);
相對應dpi
打印紙張類型:
public static string[] page_types = new string[24] {
"A0","A1","A2","A3","A4","A5","A6","A7",
"B0","B1","B2","B3","B4","B5","B6","B7",
"C0","C1","C2","C3","C4","C5","C6","C7"
};
以及自定義紙張(單位設置為毫米)換算公式為:
(int)Math.Floor(int.Parse(input_def[0].textBox.Text) * 3.779527559055118)
相對應紙張大小(毫米)
public static string[] page_size = new string[24] {
"841×1189","594×841","420×594","297×420","210×297","148×210","105×148","74×105",
"1000×1414","707×1000","500×707","353×500","250×353","176×250","125×176","88×125",
"917×1297","648×917","458×648","324×458","229×324","162×229","114×162","81×114"
};
對應像素為:
public static string[] page_pixel = new string[24] {
"3178×4493","2245×3178","1587×2245","1122×1587","793×1122","559×793","396×559","279×396",
"3779×5344","2672×3779","1889×2672","1334×1889","944×1334","665×944","472×665","332×472",
"3465×4902","2449×3465","1731×2449","1235×1731","865×1224","612×865","430×612","306×430"
};
按照ISO標準紙型、尺寸設置。
打印支持選項:
3、快捷鍵
Ctrl 上、下、左、右可移動組件
Shift 上、下、左、右調整組件大小
Alt V 粘貼、Alt C復制、等,在報表組件上點擊右鍵,菜單中可看見或在報表欄目空白處點擊右鍵。
4、 其余可參見代碼中public函數,
其他說明可參見草稿:https://www.haolizi.net/example/view_16592.html
征求意見稿:https://www.haolizi.net/example/view_16896.html
如有疏漏自行修正。
實在抱歉,源碼有一點誤差:
Report_Function.cs 的print_File ()函數內修改為:
if (_pgselect != -1)
{
pSize = new PaperSize(page_types[_pgselect] " page", (int)(PreViewPage_Area.Width / 25.4f * 100f), (int)(PreViewPage_Area.Height / 25.4f * 100f));
..........................
}
else
{
..............................
pSize = new PaperSize("Custom page", (int)(PreViewPage_Area.Width / 25.4f * 100f), (int)(PreViewPage_Area.Height / 25.4f * 100f));
}
換算比例搞成舊的了,橫向打印輸出打印機打不全了。自己修改下
代碼片段和文件信息
/*---------------------------------------------
整理自用?EzReport?Build?報表組件
適用版本:.Net?2.0?-?.Net?4.6?(32、64位)
設計:Song?Qiao?Ke??
??????????Email:?Qiaoke_Song@163.com
??????????QQ:2452243110
最后更新:2018.11
-----------------------------------------------*/
using?System;
using?System.Collections.Generic;
using?System.Data;
using?System.Data.OleDb;
using?System.Data.SqlClient;
public?static?class?Define_Datalink
{
????///?
????///?數據庫連接
????///?
????public?static?SqlConnection?SQLSERVER_Conn;?//?sql?連接
????public?static?OleDbConnection?ACCESS_Conn;?//?access?連接
????public?static?SqlDataAdapter?Sql_Cont;
????public?static?OleDbDataAdapter?Access_Cont;
????public?static?SqlCommand?SqlCom;
????public?static?OleDbCommand?AccessCom;
????public?static?Dat
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????60928??2018-11-22?21:15??EzReport_Build\.vs\EzReport_Build\v15\.suo
?????文件??????????0??2018-11-22?19:53??EzReport_Build\.vs\EzReport_Build\v15\Server\sqlite3\db.lock
?????文件?????786432??2018-11-22?20:59??EzReport_Build\.vs\EzReport_Build\v15\Server\sqlite3\storage.ide
?????文件??????32768??2018-11-22?21:11??EzReport_Build\.vs\EzReport_Build\v15\Server\sqlite3\storage.ide-shm
?????文件?????119512??2018-11-22?21:15??EzReport_Build\.vs\EzReport_Build\v15\Server\sqlite3\storage.ide-wal
?????文件?????226304??2018-11-22?20:24??EzReport_Build\EzReport_Build\bin\Debug\EzReport_Build.dll
?????文件?????374272??2018-11-22?20:24??EzReport_Build\EzReport_Build\bin\Debug\EzReport_Build.pdb
?????文件?????165548??2017-11-04?19:24??EzReport_Build\EzReport_Build\bin\Debug\fontawesome-webfont.ttf
?????文件??????10805??2018-11-22?18:36??EzReport_Build\EzReport_Build\Define_Datali
?????文件??????36175??2018-11-22?20:18??EzReport_Build\EzReport_Build\Define_Global.cs
?????文件??????14167??2018-11-22?20:18??EzReport_Build\EzReport_Build\Draw_Function.cs
?????文件??????10619??2018-11-22?20:14??EzReport_Build\EzReport_Build\EzReport_Build.csproj
?????文件??????32490??2018-11-22?20:18??EzReport_Build\EzReport_Build\EzResource.Designer.cs
?????文件??????58967??2018-11-22?20:14??EzReport_Build\EzReport_Build\EzResource.resx
?????文件??????32505??2018-11-22?20:14??EzReport_Build\EzReport_Build\EzResource1.Designer.cs
?????文件??????84609??2018-11-22?20:23??EzReport_Build\EzReport_Build\Form_Desing.cs
?????文件??????37688??2018-11-22?20:23??EzReport_Build\EzReport_Build\Info_Function.cs
?????文件??????21794??2018-11-22?20:15??EzReport_Build\EzReport_Build\Preview.cs
?????文件???????1317??2018-11-22?19:53??EzReport_Build\EzReport_Build\Properties\AssemblyInfo.cs
?????文件??????38863??2018-11-22?20:33??EzReport_Build\EzReport_Build\Report_Function.cs
?????文件??????15083??2018-11-06?08:52??EzReport_Build\EzReport_Build\Resources\a_bot.png
?????文件??????15120??2018-11-06?08:52??EzReport_Build\EzReport_Build\Resources\a_center.png
?????文件??????15081??2018-11-06?08:53??EzReport_Build\EzReport_Build\Resources\a_left.png
?????文件??????15076??2018-11-06?08:54??EzReport_Build\EzReport_Build\Resources\a_right.png
?????文件??????15080??2018-11-06?08:54??EzReport_Build\EzReport_Build\Resources\a_top.png
?????文件????????119??2018-10-31?12:19??EzReport_Build\EzReport_Build\Resources\background.png
?????文件??????15948??2018-11-06?10:40??EzReport_Build\EzReport_Build\Resources\band_move.png
?????文件??????15364??2018-11-04?12:45??EzReport_Build\EzReport_Build\Resources\band_pb.png
?????文件??????15481??2018-11-04?12:46??EzReport_Build\EzReport_Build\Resources\band_pd.png
?????文件??????15360??2018-11-04?12:46??EzReport_Build\EzReport_Build\Resources\band_pt.png
............此處省略116個文件信息
評論
共有 條評論