DevExpress.XtraReports.UI.XtraReport 动态报表

原文:DevExpress.XtraReports.UI.XtraReport
动态报表

using System;
using System.Collections.Generic;
using
System.ComponentModel;
using System.Data;
using System.Drawing;
using
System.Linq;
using System.Text;
using System.Windows.Forms;
using
DevExpress.XtraTab;
using DevExpress.XtraPrinting.Control;
using
DevExpress.XtraReports.UI;

namespace WindowsFormsApplication6
{
    public partial
class Form1 : Form
   
{
        public
Form1()
       
{
           
InitializeComponent();
        }

private List<XtraTabPage>
tabpage = new
List<XtraTabPage>();
        private
List<PrintControl> printcon = new
List<PrintControl>();
       
private List<XtraReport> report = new
List<XtraReport>();
        private
string path = string.Empty;
       
private void Form1_Load(object sender, EventArgs
e)
       
{
            path =
AppDomain.CurrentDomain.BaseDirectory;
           
// TODO:
这行代码将数据加载到表“dataSet1.Orders1”中。您可以根据需要移动或删除它。
           
this.orders1TableAdapter.Fill(this.dataSet1.Orders1);
           
// TODO:
这行代码将数据加载到表“dataSet1.Orders”中。您可以根据需要移动或删除它。
           
this.ordersTableAdapter.Fill(this.dataSet1.Orders);

dataSet1.Tables["DataTable1"].Rows.Add("page0", "Orders",
"XtraReport.repx");
           
dataSet1.Tables["DataTable1"].Rows.Add("page1", "Orders1",
"XtraReport2.repx");
           
dataSet1.Tables["DataTable1"].Rows.Add("page2", "Orders",
"XtraReport.repx");
           
dataSet1.Tables["DataTable1"].Rows.Add("page3", "Orders1",
"XtraReport2.repx");
           
dataSet1.Tables["DataTable1"].Rows.Add("page4", "Orders1",
"XtraReport2.repx");
           
foreach (DataRow dr in
dataSet1.Tables["DataTable1"].Rows)
           
{

XtraTabPage page = new
XtraTabPage();
               
XtraReport2 xrepot = new
XtraReport2();
               
string pa = path + "\\" +
dr["DataColumn3"].ToString();
               
xrepot.LoadLayout(pa);
               
xrepot.Name =
dr["DataColumn1"].ToString();
               
page.Name =
dr["DataColumn1"].ToString();
               
page.Text =
dr["DataColumn1"].ToString();
               
page.TabPageWidth =
100;
               
PrintControl print = new
PrintControl();
               
print.Name =
dr["DataColumn1"].ToString();
               
print.Dock =
System.Windows.Forms.DockStyle.Fill;
               
print.PrintingSystem =
xrepot.PrintingSystem;       

               
xrepot.DataSource =
dataSet1.Tables[dr["DataColumn2"].ToString()];
               
xrepot.CreateDocument();
               
report.Add(xrepot);
               
printcon.Add(print);
               
page.Controls.Add(print);
               
tabpage.Add(page);
               
xtraTabControl1.TabPages.Add(page);
           
}

//dataSet1.Tables["DataTable1"].Rows.Add("page0",
"Orders");
        }

private void
xtraTabControl1_SelectedPageChanged(object sender, TabPageChangedEventArgs
e)
       
{
            string
selpage =
xtraTabControl1.SelectedTabPage.Text.ToString();
           
foreach (XtraReport rp in
report)
           
{
               
if (rp.Name ==
selpage)
               
{
                   
/*
                   
string dc =
string.Empty;
                   
foreach (DataRow r in
dataSet1.Tables["DataTable1"].Rows)
                   
{
                       
if (r["DataColumn1"].ToString() ==
selpage)
                           
dc =
r["DataColumn2"].ToString();
                   
}
                   
rp.DataSource =
dataSet1.Tables[dc];*/
                   
rp.CreateDocument();

}
           
}
            foreach
(PrintControl prc in
printcon)
           
{
               
if (prc.Name ==
selpage)
                   
printBarManager1.PrintControl =
prc;
           
}
        }

private void
barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs
e)
       
{
           
dataSet1.Tables["Orders1"].Rows.Clear();
           
dataSet1.Tables["Orders"].Rows.Clear();
           
/*
            foreach
(XtraReport rp2 in
report)
           
{
               
rp2.CreateDocument();
           
}*/
        }

private void
barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs
e)
       
{
           
this.orders1TableAdapter.Fill(this.dataSet1.Orders1);
           
// TODO:
这行代码将数据加载到表“dataSet1.Orders”中。您可以根据需要移动或删除它。
           
this.ordersTableAdapter.Fill(this.dataSet1.Orders);
       
}
    }
}

时间: 2024-11-06 20:43:00

DevExpress.XtraReports.UI.XtraReport 动态报表的相关文章

动态传递参数到DevExpress.XtraReports的小结

原文:动态传递参数到DevExpress.XtraReports的小结 前两种方法和WinForm一样,可以传递参数.数组.实体对象.DataTable等1. 采用构造函数具体用法:在Report中public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport {    private int test1;            public Form1(int test1)    {        this.tes

DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表

原文:DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 在继续本示例之前,要把所有 必需的程序集 添加到项目的 引用 列表中,并且把一个按钮拖放到窗体上. 然后,以下列方式接管此按钮的

DevExpress XtraReports 入门五 创建交叉表报表

原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.准备数据绑定 XRPivotGrid 控件 启动 MS Visual Studio (2005.2008 或 2010),并且新建一个或者打开一个现

DevExpress XtraReports 入门一 创建 Hello World 报表

原文:DevExpress XtraReports 入门一 创建 Hello World 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 本次内容分一下4个步骤: 创建应用程序并添加报表 构建报表 输出报表 查看运行结果 一.创建应用程序 1.启动 MS Visual

DevExpress XtraReports 入门四 创建 Web 报表

原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建 Web 报表并绑定数据  启动 MS Visual Studio (2005.2008.或 2010). 新建一个 ASP.NET Web

DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表

原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建应用程序并添加报表 启动 MS Visual Studio (2005.2008.或 2010). 在 Visua

DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表

原文:DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.添加从表  启动 MS Visual Studio (2005.2008.或 2010). 打开有数据感知报表的

java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器(开发利器)+快速构建表单;            QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连接池druid;

java sql编辑器 动态报表 数据库备份还原

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Dr