之前也没有接触rdlc报表,于是经过大量的百度,也走了很多弯路,写这篇博客,一是为了总结,二是希望新手能简单快速上手
简单来说rdlc报表分为四点:1.创建winfrom项目,在窗体上添加ReportViewer控件;2.在项目中添加报表文件,并设计报表样式;3.在项目中添加数据集,并添加数据集字段(数据源可以用从数据库中获取);4.在窗体中绑定数据,也就是代码问题。1到3点以下网址博客写的很详细,就不做过多描述。
http://blog.csdn.net/hk_5788/article/details/49846905
第四部代码如下:
//构建数据datatable
DataTable dt = new DataTable();
public void table()
{
dt.Columns.Add("outPatientName", typeof(string));
dt.Columns.Add("outPatientSex", typeof(string));
dt.Columns.Add("outPatientAge", typeof(string));
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["outPatientName"] = i;
dr["outPatientSex"] = "男";
dr["outPatientAge"] = "12";
dt.Rows.Add(dr);
}
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
table();
//获取报表文件并付给reportViewer控件
this.reportViewer1.LocalReport.ReportPath = @"../../testReport.rdlc";
//指定数据集
this.reportViewer1.LocalReport.DataSources.Clear();
//test 是第三步数据集的名字
this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("test", dt));
//显示报表
this.reportViewer1.RefreshReport();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
客户端使用RDLC报表:
到这里就可以在窗体就行预览报表信息了。当然这是你开发的电脑,如果你想在客户端也能正常查看报表,还需要在bin文件中添加以下文件:因为reportViewer控件是不包括在微软net文件中的,打开控件是需要这五个dll支持的,这些dll这么来的呢?
首先打开项目引用
选择Microsoft.ReportViewer.Common的属性,查询路径和版本
复制全部路径,
根据路径就可以找到Microsoft.ReportViewer.Common.ll。当然项目引用中,只有两个dll文件,
其他dll路径可以根据上面路径分析,加dll名称(这是我电脑的路径),然后选择版本,就可以找到其他dll。
例如:
依照上面步骤,依次将dll添加到dll中,那么rdlc报表就完成了。
最后有一点小经验给大家分享一下,如果在你查看RDLC报表是发现,汉字变成小方块,这是因为报表文件字体原因,只要找到报表文件,选择控件,在属性中将字体改成微软雅黑或者黑体即可。