在C#中使用水晶报表
给报表配置数据源有两种方式,一种是利用报表专家完成数据源的配置和设计。另一种是通过数据库专家配置。这里将介绍用数据库专家配置的方法。
第一步 配置数据源
在解决方案中,点击”添加新项“,添加"Crystal报表"组件(后缀为rpt) 。
在随即弹出的对话框中,选取“使用报表向导”。
单击"创建新连接下“OLE DB(ADO)”节点下左侧的+号,弹出一个OLE DB对话框.提供程序选择"SQL Native Client"。
在连接信息里填写正确的信息。
在高级信息里面选择OLE DB Services。
如果连接正确,会在“创建新连接”中看到指定连接的数据库。
将数据库中将要操作的“表”添加到右边列表框。这些表将作为显示数据的数据源。
用同样的方式,设置要显示的字段。
第二步 在程序中调用水晶报表
从工具栏中将CrystalReportViewer查看器拖到到windows窗体。
在程序中调用下面的方法,显示满足条件的报表信息 .
public ReportDocument CrystalReport()
{
/*条件查询语句,其中{tb_User.Name}是数据库表中的一个字段
查询结点将显示Name字段中所有含有字符'a'的数据*/
string selcondition= "{tb_User.Name} like '*d*');
//获取报表路径,其中CrystalReportUser.rpt为报表的名字
string reportPath = Application.StartupPath.Substring(0,
Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(//)).LastIndexOf(" //")).LastIndexOf("//"));
reportPath += @"/CystalReportDoc/" + CrystalReportUser.rpt
ReportDocument doc=new ReportDocument();
//加载报表
doc.Load(reportPath);
//要执行的查询语句
doc.DataDefinition.RecordSelectionFormula=selcondition;
return doc;
}