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的源代码如下:
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。