轉(zhuǎn)帖|實施案例|編輯:楊鵬連|2021-06-28 17:13:12.730|閱讀 414 次
概述:本文介紹了報表生成器C#調(diào)用FastReport控件成功示例研究。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
隨著現(xiàn)代技術(shù)的高速發(fā)展,相關(guān)產(chǎn)業(yè)所衍生出來的數(shù)據(jù)集是越來越龐大。那么我們?nèi)绾文軌蚝唵?、方便、快捷的展現(xiàn)自己輸入數(shù)據(jù)?并且能夠以我們想要的方式展現(xiàn)出來?報表——這一產(chǎn)物便應(yīng)運(yùn)而生,現(xiàn)在市面上流行的報表工具類產(chǎn)品也是層出不窮。
我們?yōu)槭裁词褂玫谌綀?a target="_blank">報表開發(fā)工具,而不使用Excel呢?
Excel是一個電子表格程序,而不是一個數(shù)據(jù)庫程序。Excel數(shù)據(jù)處理容量和速度有限制,數(shù)據(jù)可視化程度不高,都是以表格為主,雖然也能插入一些圖表,但是靈活度和美觀度不夠,設(shè)置起來也相當(dāng)麻煩,并且數(shù)據(jù)獲取麻煩。
第三方報表工具是數(shù)據(jù)庫存儲,數(shù)據(jù)庫程序通常可以存放的數(shù)據(jù)量是相當(dāng)大的,可以處理非常復(fù)雜的數(shù)據(jù)結(jié)構(gòu)關(guān)系。報表數(shù)據(jù)交互也快捷方便,速度也非常快,可視化交互渲染。
創(chuàng)建個WinForm項目
引用dll文件
引用dll文件創(chuàng)建FastReport控件工具
創(chuàng)建打印設(shè)置From
C#代碼:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; using FastReport; using System.Data.SqlClient; namespace PrintTest001 { public partial class FrmPrintDesigner : Form { public FrmPrintDesigner() { InitializeComponent(); } private void FrmPrintDesigner_Load(object sender, EventArgs e) { Report dReport = new Report(); //實例化一個Report報表 String reportFile = "Report/Report01.frx"; dReport.Load(reportFile); //載入報表文件 this.designerControl1.Report = dReport; //這里不一樣的是把Report賦給控件的屬性 DataSet ds1 = new DataSet(); ds1 = getDataHz(); dReport.RegisterData(ds1, "單據(jù)匯總"); DataSet ds2 = new DataSet(); ds2 = getDataMx(); dReport.RegisterData(ds2, "單據(jù)明細(xì)"); dReport.Prepare(); //準(zhǔn)備 dReport.Design(); //顯示 } private DataSet getDataHz() { String connStr = ReturnDataSet.connectionString; SqlConnection conn = new SqlConnection(connStr); conn.Open(); String sqlStr = ReturnDataSet.HzSql; SqlCommand comm = new SqlCommand(); comm.CommandText = sqlStr; comm.CommandType = CommandType.Text; comm.Connection = conn; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(comm); adapter.Fill(ds, "單據(jù)匯總"); conn.Close(); return ds; } private DataSet getDataMx() { String connStr = ReturnDataSet.connectionString; SqlConnection conn = new SqlConnection(connStr); conn.Open(); String sqlStr = ReturnDataSet.MxSql; SqlCommand comm = new SqlCommand(); comm.CommandText = sqlStr; comm.CommandType = CommandType.Text; comm.Connection = conn; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(comm); adapter.Fill(ds, "單據(jù)明細(xì)"); conn.Close(); return ds; } } }創(chuàng)建打印預(yù)覽From
C#代碼:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using FastReport; using System.Data.SqlClient; namespace PrintTest001 { public partial class FrmPrintPreview : Form { public FrmPrintPreview() { InitializeComponent(); } private void FrmPrintPreview_Load(object sender, EventArgs e) { Report dReport = new Report(); //實例化一個Report報表 String reportFile = "Report/Report01.frx"; dReport.Load(reportFile); //載入報表文件 dReport.Preview = previewControl1; //設(shè)置報表的Preview控件(這里的previewControl1就是我們之前拖進(jìn)去的那個) DataSet ds1 = new DataSet(); ds1 = getDataHz(); dReport.RegisterData(ds1, "單據(jù)匯總"); DataSet ds2 = new DataSet(); ds2 = getDataMx(); dReport.RegisterData(ds2, "單據(jù)明細(xì)"); dReport.Prepare(); //準(zhǔn)備 dReport.ShowPrepared(); //顯示 } private DataSet getDataHz() { String connStr = ReturnDataSet.connectionString; SqlConnection conn = new SqlConnection(connStr); conn.Open(); String sqlStr = ReturnDataSet.HzSql; SqlCommand comm = new SqlCommand(); comm.CommandText = sqlStr; comm.CommandType = CommandType.Text; comm.Connection = conn; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(comm); adapter.Fill(ds, "單據(jù)匯總"); conn.Close(); return ds; } private DataSet getDataMx() { String connStr = ReturnDataSet.connectionString; SqlConnection conn = new SqlConnection(connStr); conn.Open(); String sqlStr = ReturnDataSet.MxSql; SqlCommand comm = new SqlCommand(); comm.CommandText = sqlStr; comm.CommandType = CommandType.Text; comm.Connection = conn; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(comm); adapter.Fill(ds, "單據(jù)明細(xì)"); conn.Close(); return ds; } } }
示例:
打印設(shè)置效果:
產(chǎn)品介紹 | 下載試用 |
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)