找回密码
 立即注册

QQ登录

只需一步,快速开始

csq

新手上路

1

主题

1

帖子

21

积分

新手上路

积分
21
  • 20

    金币

  • 主题

  • 帖子

最新发帖
csq
新手上路   /  发表于:2011-6-11 17:56  /   查看:8572  /  回复:5
我有一个rdf文件,其中只有一个label,datafield设成Item1
然后我再其他方法中调用这个rdf文件:
  1. public void Print()
  2.         {
  3. DataTable dt=CreateDataSource();
  4. ActiveReport report = new ActiveReport();
  5.             report.Document.Load("D:\\1234.rdf");
  6. report.DataSource = dt;
  7.             report.Run();[color=Red]//报错[/color]
  8.             report.Document.Print();
  9. }
  10. private DataTable CreateDataSource()
  11.         {
  12. DataTable dt=new DataTable();
  13.             DataColumn item1 = new DataColumn("Item1");
  14.             dt.Columns.Add(item1);
  15.             DataRow row = source.NewRow();
  16.             row["Item1"] = "123";
  17.             dt.Rows.Add(row);
  18. return dt;
  19.         }
复制代码

5 个回复

倒序浏览
ericzch
初级会员   /  发表于:2011-6-11 20:50:00
沙发
再问一个问题:
有没有这样的功能,程序运行时,直接调用activereports模板,赋值后打印,而不需要提前在vs2010中设计好模板,编译后使用?
回复 使用道具 举报
ericzch
初级会员   /  发表于:2011-6-11 21:44:00
板凳

  1. private void button2_Click(object sender, EventArgs e)
  2.         {
  3.             DataDynamics.ActiveReports.ActiveReport rpt = new DataDynamics.ActiveReports.ActiveReport();
  4.             rpt.Document.Load(@"C:\Report1.RDF");
  5.             //rpt.run();  <------ 报错
  6.             rpt.Document.Print(false, true, true);
  7.         }
复制代码

把rpt.run()注视掉后,实现了调用模板并打印,但听楼主说模板包含变量的话,赋值无效
怎么办?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-13 09:13:00
地板

回复 1# csq 的帖子

你好,你能把你的rdf文件上传到论坛吗。同时,你可以参看关于RDF的示例代码 C:\Program Files\GrapeCity\ActiveReports 6\Samples\CSharp\RDFViewer
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-13 09:41:00
5#

回复 2# ericzch 的帖子

你好,ActiveReports报表都需要提前设计好(可以在VS和End User Desinger中进行设计),如果你不想编译就直接使用,你可以在新建模板的时候选择 ActiveReports6(xml-based) File 模板类型。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-13 09:51:00
6#

回复 3# ericzch 的帖子

你进行rpt.Document.Load(@"C:\Report1.RDF")之后就不需要调用 rpt.Run(),因为此时 rpt.Document已经有内容。同时RDF是报表运行之后导出的文件(也就是你预览报表看到的内容的一个拷贝,如果你预览时报表有5页,那么RDF文件就包含这5页的全部内容),所以不能对模板中的变量进行复制操作。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部