动态传递参数到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-08-06 14:23:12

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

通过List<String>动态传递参数给 sqlcommand.Parameters

通过List<String>动态传递参数 private void GetallChecked_TreeNote(TreeNodeCollection aNodes, ref int TotalNodeCount, ref List<string> listItem) { foreach (TreeNode iNode in aNodes) { if (iNode.Nodes.Count == 0 && iNode.Checked==true) { richText

AutoComplete的extraParams动态传递参数

AutoComplete可利用extraParams传递参数,如 extraParams:{para1:'参数1',para2:'参数2'} 但是,如需动态取值作为参数值时却无法达到期望目的,可改为配置项参数传递函数即可,如 extraParams: { region: $('#Select1').val(),  userName:  $('#userInfo').val() } 改为 extraParams: { region: function() { return $('#Select1'

jquery.uploadify 动态传递参数

最近 项目中使用到 uplaodify 来实现上传文件的功能.在传输动态参数的时候,遇到了问题! 使用官网提供的 settings 方法 官方例子function changeBtnText() {    $('#file_upload').uploadify('settings','buttonText','BROWSE');} 第一个参数 必须是 'settings' 第二个参数 不可以随便设置的.(我就是在这个地方,花了一些时间) 第三个参数是值. 我在第二个参数中随便设置了一个字符串,但

EasyUI Tree 动态传递参数

1.问题背景 一般出现在加载的时候,传递参数给后台,进行数据筛选,然后在加载tree渲染数据.所谓动态参数,可以是你的上一级节点node,或者是根节点node. 2.涉及方法 onBeforeLoad(node,param),需要给的参数在这个方法后面赋值,比如: var rootNode = $(this).tree('getRoot',node.target); param.typeId = rootNode.id; 这样typeId 就作为动态参数,传递给了后台,后台获取typeId这个参

struts2 redirect 配置动态传递参数

<action name="actionName" class="com.towerking.TestAction" method="executeMethod"> <result name="success" type="redirect">login.jsp?flag=success&userType=${userType}</result> <resu

04发送请求,将值赋给data--动态传递参数

03==>发送青丘,将值赋给data. 注意:赋值使用的是 _this.setData({ }) 是以冒号的形式赋值, 提前保存好this data: { arrlistdata:[], }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let _this=this; //提前保存this 否者回调函数中的this为 underfined wx.request({ url: 'https://edu.51cto.com/center/

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

delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

//delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码). Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = Raise

转:Web页面通过URL地址传递参数常见问题及检测方法

Web页面即我们在浏览器中所看到的网页,在Web应用程序中,其页面往往需要进行动态切换和数据交互,页面间的数据常规传递方法有多种,本文主要介绍Web页面处理程序中常见的URL地址参数传递方法,包括概述其实现原理.特点和常见问题,最后介绍检测该方式常见应用问题的测试思路和方法. 1.web页面的概念 Web是internet上一个非常重要的资源信息网,产生于20世纪90年代初,它遵循超文本传输协议,以超文本或超媒介的形式传送各种各样的信息,为用户提供了一个具有友好的图形化界面--Web页面,以便用