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

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

前两种方法和WinForm一样,可以传递参数、数组、实体对象、DataTable等
1. 采用构造函数
具体用法:
在Report中
public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport
 {
    private int test1;       

    public Form1(int test1)
    {
        this.test1 = test1;
        InitializeComponent();
    }
}
调用Report
int test1 = 1;
XtraReport1 report = new XtraReport1(test1);
report.Show();

2.采用属性
具体用法:
在Report中
public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport
 {      
    public Form1()
    {
        InitializeComponent();
    }
    private int test1;  
    public int Test1
    {
        set { test1 = value; }
        get { return test1; }
    }
}
调用Report
XtraReport1 report = new XtraReport1();
report .Test1 = 1;
report.Show();

3.采用DataSet传递参数
在报表设计界面中,从工具栏数据中拉入DataSet到界面中,选择非类型化数据集,然后给拉入的DataSet添加Table和Column。报表界面的Field List中会自动加入刚添加进去的表和栏目,然后在拉动Field List栏中的Column到报表中,设计好後。在报表的代码中:
private void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
 {
    this.DataSource = ds.Table[0];
}

我使用以上三种方法都没问题。

但我在允许用户修改报表设计
DevExpress.XtraReports.UI.XtraReport report = DevExpress.XtraReports.UI.XtraReport.FromFile(Application.StartupPath + "\\ReportTest.repx" );
report.ShowDesigner();
如果采用第1、2种方法,怎么也不行。后来只能变通,把要传递的数据保存在XML中,然后在Detail_BeforePrint事件中把XML文件中的数据读出来。

查看帮助说明如下:
in the assembly (represented by the .EXE or .DLL file) which produced the REPX file. Its path is also mentioned in the REPX file's header;

  1. in the current assembly where the FromFile method is called from;
  2. in the assemblies referenced by the current assembly.

If this class type is not found, then an instance of the XtraReport class is created.

Also, the saved state can be applied to the created report instance, if the loadState parameter is set to true.

等有空的时候使用反射试试,看能否让第1、2中传递参数的方法也可以实现用户自定义报表。

时间: 2024-09-18 00:44:19

动态传递参数到DevExpress.XtraReports的小结的相关文章

uploadify3 2 1-uploadify3.2.1用formDate向servlet动态传递参数的问题,已经要崩溃了

问题描述 uploadify3.2.1用formDate向servlet动态传递参数的问题,已经要崩溃了 这个传的参数,在servlet怎么用request都取不到,官方文档的方案也不对,已经疯了.. $("#uploadify").uploadify({ 'auto' : true, 'swf' : 'js/uploadify.swf', 'folder' : '/uploads', 'uploader' : url, 'method' : 'GET', 'cancelImg' :

java-SSH Action 动态调用 参数 404异常

问题描述 SSH Action 动态调用 参数 404异常 1. 异常情况: 1. There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] 1. at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy

MyBatis 向Sql语句中动态传参数·动态SQL拼接

在动态传递参数的时候,需要用到OGNL表达式,不懂的童鞋可以下去百度,这里制作一个简要的介绍 在向XML文件传递参数的时候,需要用到sqlSession.selectList("Message.queryMessageList",message); message就是你要传递的参数.一般来说,这个message是一个对象,因为这里只能传递一个参数,而对象可以将很多参数封装起来. XML文件接收到参数以后,会动态的执行Sql语句,但是具体要怎么传递参数呢,这就需要用到<if>

js动态创建的方法传递参数

问题描述 js动态创建的方法传递参数 用ajax获取了 json数据 存进数组 动态创建a标签 现在想点击a时 触发onclick事件时传递参数 但一直失败 无奈 想知道怎么才能把参数传递出去上代码: mdId_arr.push('<li><a href=""#"">'+info.lists[i]+'</a>'+ '<a href=""#"" data-icon=""

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;usin

C#往线程里传递参数的方法小结_C#教程

传参方式有两种: 1.创建带参构造方法类 传参 2.利用Thread.start(8)直接传参,该方法会接收一个对象,并将该对象传递给线程,因此在线程中启动的方法 必须接收object类型的单个参数. Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托. Thread (ThreadStart) 初始化 Thread 类的新实例. 由 .NET Compact Framework 支持. Thread (

Main方法传递参数执行动态程序

  两种办法: 1. java类参数传递                 通过数组取值:   String diskname=args[0];  String tablename=args[1]; java 类名 参数1 参数2   D:/MyEclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/java -Ddiskname=C://image -Xms128m -Xmx512m -Dtablename=t_image_4

python传递参数方式小结_python

本文实例总结了python传递参数方式.分享给大家供大家参考.具体分析如下: 当形参如*arg时表示传入数组,当形参如**args时表示传入字典. def myprint(*commends,**map): for comm in commends: print comm for key in map.keys(): print key,map[key] myprint("hello","word",username="tian",name=&q

SQL*Plus 执行脚本时传递参数(@script_name var1,var2)

      在使用sqlplus执行sql脚本时,经常碰到向脚本传递参数的情形.类似于shell脚本的参数传递,我们同样可以向sql脚本传递参数,其方法是脚本后面直接跟多个连续的参数并以空格分开.本文描述该内容并给出示例. 1.SQLPlus 的帮助信息 下面的帮助信息是关于sqlplus调用带参脚本的说明 sqlplus -H <start> is: @<URL>|<filename>[.<ext>] [<parameter> ...] Run