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的源代码如下: