← 返回所有博客文章

C1Report支持各种数据源类型,包括XML、Access、SQL Server、Oracle等等。此外,对于Visual Studio .NET 数据对象,只要实现了IList,IList以及IEnumerable接口,C1Reports都提供支持。

本文演示C1Report绑定其中一种数据源,NorthWind数据库展示常见的报表,以及打印报表。

C1Report绑定数据源

1.在XML里设置或获取用户数据绑定的数据源。例如本文Demo中XML文档中获取NorthWind数据库的数据源,代码如下所示:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|C1Demo.mdb;Persist Security Info=FalseSELECT Categories.*, Products.* FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID;

2. 从指定的字符串加载 XML 文档。XmlDocument类是.NET框架的DOC解析器,它装载XML文档,并在内存中构建该文档的树状结构。通过LoadXML加载XML文档的代码如下所示:

// add Description tab 
desc = new Label(); 
desc.Dock = DockStyle.Fill; 
desc.BackColor = Color.White; 
TabPage tabDesc = new TabPage("Description"); 
tabDesc.Controls.Add(desc); 
c1PrintPreviewControl1.PreviewNavigationPanel.Controls.Add(tabDesc); 
doc = new XmlDocument(); 
doc.LoadXml(Report_Load.Properties.Resources.Reports); 
comboReports.SelectedIndex = 0; 

 

C1Report读入指定的Report

通过C1Report的Load方法,用户可以指定读入的报表。具体代码如下;

// load C1Report with selected report
c1Report1.Load(doc, reportName);
c1Report1.Sections.Header.Visible = false;

 

C1Report打印预览

只需要一句代码就可以为C1Report指定打印预览的报表,代码如下所示:

// assign report to print preview control

c1PrintPreviewControl1.Document = c1Report1.Document;

 

这样,C1Report可以轻松的使用NorthWind数据库展示数据,效果如下图所示:

 

本文Demo的源代码如下:

C1Report.7z (2.54 mb)