Windows Forms 中显示报表
新建一个Form并添加一个ReportViewer,在Load事件中RefreshReport。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RDLC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Load += new System.EventHandler(this.Report_Load);
DynamicBindRV();
}
private void Report_Load(object sender, EventArgs e)
{
this.reportViewer1.RefreshReport();
}
}
}
初始化动态RDLC报表类DynamicReport的实例,并设置相关参数,把ReportViewer传递给DynamicReport。
//new一个报表类对象
var dynamicReport = new DynamicReport();
//使用字体,默认微软雅黑
//dynamicReport.FontString = "宋体";
//是否直接打印,默认false
//dynamicReport.OnlyPrint = true;
//是否显示签名签章,默认true
//dynamicReport.IsSignature = false;
//默认值A4,二等分纸241 x 140
//dynamicReport.PageWidth = 24.1F;
//dynamicReport.PageHeight = 14.0F;
//边距,默认值1.5F、0.8F
//dynamicReport.LeftMargin = 1.5F;
//dynamicReport.TopMargin = 0.8F;
dynamicReport.SetReport(this.reportViewer1);
添加二维表头
dynamicReport.HearderTop = CreateHearderTop();
dynamicReport.HearderMerge = CreatehearderMerge();
private DataTable CreateHearderTop()
{
DataTable hearderTop = new DataTable();
hearderTop.Columns.Add("CellNumber", Type.GetType("System.Int32"));
hearderTop.Columns.Add("CellValue", Type.GetType("System.String"));
DataRow heardRow = hearderTop.NewRow();
heardRow["CellNumber"] = 4;
heardRow["CellValue"] = "中国大学";
hearderTop.Rows.Add(heardRow);
return hearderTop;
}
private DataTable CreatehearderMerge()
{
DataTable hearderMerge = new DataTable();
hearderMerge.Columns.Add("CellNumber", Type.GetType("System.Int32"));
hearderMerge.Columns.Add("CellValue", Type.GetType("System.String"));
DataRow heardRow = hearderMerge.NewRow();
heardRow["CellNumber"]