设计时数据源
-
过滤数据
-
使用自定义表达式
-
从数据库选择字段
-
分组和合计函数
-
使用内连接,左外连接和右外连接
-
设置已选字段和数据表的别名
-
数据排序和更多特性
运行时数据源
private void 运行时数据源区域报表ToolStripMenuItem_Click(object sender, EventArgs e) { SectionReport_DataSource_RunTime sReport1 = new SectionReport_DataSource_RunTime(); sReport1.DataSource = GetDataSource(); sReport1.Run(); viewer1.Document = sReport1.Document; } private DataTable GetDataSource() { DataTable dt = new DataTable(); dt.Columns.Add("产品编号"); dt.Columns.Add("产品名称"); dt.Columns.Add("单价"); dt.Columns.Add("库存量"); dt.Rows.Add("A10002", "苹果", 20, 50); dt.Rows.Add("A15681", "香蕉", 20, 50); dt.Rows.Add("A15681", "菠萝", 20, 50); return dt; }
private void 运行时数据源页面报表ToolStripMenuItem_Click(object sender, EventArgs e) { GrapeCity.ActiveReports.PageReport pReport1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport_DataSource_RunTime.rdlx")); viewer1.LoadDocument(pReport1.Document); } private void Form1_Load(object sender, EventArgs e) { viewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(viewer1_LocateDataSource); } void viewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args) { if (args.DataSourceName == "DataSource1") { if (args.DataSetName == "DataSet1") { args.Data = GetDataSource(); } } } private DataTable GetDataSource() { DataTable dt = new DataTable(); dt.Columns.Add("产品编号"); dt.Columns.Add("产品名称"); dt.Columns.Add("单价"); dt.Columns.Add("库存量"); dt.Rows.Add("A10002", "苹果", 20, 50); dt.Rows.Add("A15681", "香蕉", 20, 50); dt.Rows.Add("A15681", "菠萝", 20, 50); return dt; }