因为引入FastReport中的控件时报错,在网上又搜不到相应的解决办法

所以在这里动态添加

首先在创建的项目中引入FastReport.dll

            //创建一个空的报表
Report report = new Report();
designerControl1.Report = report;
//恢复设计布局
designerControl1.RefreshLayout();
panel2.Controls.Add(designerControl1);
designerControl1.Dock = DockStyle.Fill;
designerControl1.UIStateChanged += designerControl1_UIStateChanged;
        // 设计器ui改变事件
private void designerControl1_UIStateChanged(object sender, EventArgs e)
{
// btnSave.Enabled = designerControl1.cmdSave.Enabled;
// btnUndo.Enabled = designerControl1.cmdUndo.Enabled;
// btnRedo.Enabled = designerControl1.cmdRedo.Enabled;
}

另一种方法 ,通过 report.Design(); 方法来调用设计器

            Report report = new Report();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt= DbHelperOra.Query(txt_Sql.Text).Tables[0];
dt.TableName = "测试";
DataTable dt1 = new DataTable("测试2");
dt1.Columns.Add("时间");
dt1.Columns.Add("打印人");
dt1.Rows.Add("2020-01-01", "管理员");
dt1.Rows.Add("2020-02-02", "管理");
ds.Tables.Add(dt.Copy());
ds.Tables.Add(dt1.Copy());
report.RegisterData(ds);
//动态添加参数
report.SetParameterValue("测试参数名", "测试值");
//获取指定名称的数据源
report.GetDataSource("测试").Enabled = true;
report.GetDataSource("测试2").Enabled = true;
//调出设计器
report.Design();
//显示预览窗口
report.Show();
report.Dispose();

打开报表不绑定数据是无法预览的

            Report report = new Report();
OpenFileDialog openDlg = new OpenFileDialog();
openDlg.Filter = "报表文件|*.frx";
if (openDlg.ShowDialog() == DialogResult.OK)
{
report.Load(openDlg.FileName);
report.Design();
report.Dispose();
}

在 C# 中调用FastReport 设计窗口的更多相关文章

  1. Unity中调用Windows窗口句柄以及根据需求设置并且解决扩展屏窗体显示错乱/位置错误的Bug

    问题背景: 现在在搞PC端应用开发,我们开发中需要调用系统的窗口以及需要最大化最小化,缩放窗口拖拽窗口,以及设置窗口位置,去边框等功能 解决根据: 使用user32.dll解决 具体功能: Unity ...

  2. JS 在open打开的子窗口页面中调用父窗口页面的JS方法

    需求的情景如下: 1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法) 2:在新增或修改等的页面上有返回按钮.重置按钮.保存按钮,对于返回就直接关闭此窗口(使 ...

  3. C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常,不存在从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型的映射。

    一:C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常 其实,这个问题与C#的垃圾回收有关.垃圾回收器管 理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的 垃圾回收器 ...

  4. (转)C#在父窗口中调用子窗口的过程(无法访问已释放的对象)

    C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象   笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中 ...

  5. 在C#中调用Win32函数EnumWindows枚举所有窗口。

    原文 http://www.cnblogs.com/mfm11111/archive/2009/06/30/1514322.html 开发旺旺群发软件,难点及重要技术点分析(一) 一.        ...

  6. 如何在自己设计的页面中调用metamask-1

    启发: https://github.com/MetaMask/metamask-extension/issues/714 https://github.com/MetaMask/metamask-e ...

  7. [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

    原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题

  8. python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承                                                                          继承是一种创建新的类的方式,在pyth ...

  9. python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承 继承是一种创建新的类的方式,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. 派生:子类继承了父类的属性,然后衍生出自己新的属性,如果子类衍生出的新 ...

  10. 在Vivado中调用ModelSim生成FSM的状态转移图

    如果我们已经书写了一段FSM代码,现在想倒过来把它转换成为状态转移图,方便我们直观地检查我们书写的状态对不对(在写论文什么的画图太麻烦的时候,有个自动生成的是多方便啊!),应该怎么弄呢?通过在Viva ...

随机推荐

  1. Hadoop2.7.3源码编译

    一.编译源码步骤演示详解 需求:官网下载的hadoop包,执行hadoop命令时,会有警告信息,为去除此警告,需要重新编译hadoop相应版本的源码,替换hadoop安装包lib目录下的native( ...

  2. iOS开发-应用评分引导

    导入头文件#import <StoreKit/StoreKit.h>+ (void)yoStoreReview{ if (@available(iOS 10.3, *)) { if ([S ...

  3. 其他6-break,continue,exit,return区别

    break.continue.exit.return的区别 break 跳出整个循环语句 continue 跳过本次循环,进入下一次循环语句 exit n 退出当前shell,并返回状态值 retur ...

  4. CentOS 7.9 环境下构建 Python 3.9

    sudo yum -y update sudo yum -y install yum-utils sudo yum-builddep -y python3 curl -O https://www.py ...

  5. uni-app 通过后缀名区分不同渠道版本

    同一套微信小程序代码根据需求要打包成两款小程序,主要逻辑页面一致,主题色不一致,部分页面布局不,逻辑不一致. script命令 先在package.json的script新增命令,根据不同的命令生成对 ...

  6. 软件工程日报九——SQLite的安装与配置

    安卓stuio的数据库连接需要SQLite,现在进行安装与配置 一进官网下载sqlite-dll-win32-x86.zip和sqlite-tools-win32-x86.zip 二.在下载目录进行解 ...

  7. Error occurred while proxying request localhost:端口 报错500的解决方法

    '/AuthServer/api/': { target: 'https://localhost:44319', secure:false,// 这是签名认证,http和https区分的参数设置 ch ...

  8. kubernetes:v1.25 + containerd

    由于kubernets从v1.24开始停止支持dockershim,kubernets不再支持通过docker来创建和管理容器.本文记录安装kubernetes v1.25 + containerd ...

  9. Vue3学习笔记(1)

    安装 //使用yarn构建 //安装yarn 需要管理员权限 sudo npm i yarn -g yarn create vite cd .. yarn yarn dev 目录结构 见名知义 四种语 ...

  10. selenium grid4.0+分布式的部署配置(hub/node方式)

    一.grid安装 本文已jar包的方式讲解,访问并下载jar包:Releases · SeleniumHQ/selenium · GitHub 二.grid配置 假设主机:10.1.5.219,从机: ...