水晶报表新人求教简单问题,谢谢了,在线等

xngu 2007-03-21 10:49:11
刚刚接触水晶报表,有个简单问题问一下:
我已经做好了一个rpt,也将它放到了页面中,编程语言为C#,我是这样写的:
在page_load事件中写了一句cr1.databind()
然后在html页面中指定reportsource='<%#1.rpt#>'
这样报表就显示了,但是这时显示的是静态的数据,我想实时的让它刷新数据应当怎么写?怎样让数据库绑定到rpt上?
比如数据库尾abc.mdb
我是新手,还望大家写的详细一些,谢谢了
...全文
283 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
imnotme 2007-03-28
  • 打赏
  • 举报
回复
第一个问题,根据你描述的情况,可能有两种可能:
1)水晶报表软件编辑的报表有一个"save with data"的选项,如果选了这个选项,报表中就会保存原来的数据.但是这个选项在vs里的水晶报表里没有提供,如果用vs里的报表编辑器打开水晶报表,再保存,那么那些本来保存的数据就会丢失.
2)另一种可能是,没一个装了水晶报表软件的机器,都会自动装上一个odbc的数据源,那个报表如果连接的是那个数据源,就有可能在每个机器上都能连接到数据库.你可以打开报表,用水晶报表"数据库专家"的工具去查看当前连接的数据库.
砂随风 2007-03-26
  • 打赏
  • 举报
回复
这里有个文档,可能对你有用.
http://www.microsoft.com/china/community/Column/26.mspx
砂随风 2007-03-26
  • 打赏
  • 举报
回复
你在ASP.NET中一般会嵌入一个Web的报表查看器(CrystalReportViewer),你说的reportsource应该就是CrystalReportViewer的属性,这个数据源可以在写程序的时候指定.
还有一个方法就是用功能更强大的ReportDocument,更加灵活,不过还是要通过CrystalReportViewer来展示数据的.
xngu 2007-03-26
  • 打赏
  • 举报
回复
首先谢谢各位,你们的留言我都认真看了,现在问题是这样,我的RPT文件是在在水晶报表软件(不是VS.net)中别人做好给我的,这个rpt文件在任何装了水晶报表的机器上都可以看,而且有数据,而不论这个机器上是否有当初设计时用的数据库,这点我就比较奇怪,并且我用过了网上介绍的方法,代码如下:
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
CrystalReport1 oCR = new CrystalReport1();
Dataset1 ds = new Dataset1();
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from Stores";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"stores");
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
但我发现数据并没有更新,现在我有如下的几个问题:
1、如果是在水晶报表软件中直接建立rpt文件,那么这个rpt文件是否在页面中不能用push方式进行数据实时刷新?
2、如果建立rpt文件时直接连接了数据库,那么是否在后面就不能用数据集的方式对他进行更新?如果可以,应该怎么作?我用上面的代码不行

jinanjiang 2007-03-22
  • 打赏
  • 举报
回复
up
imnotme 2007-03-21
  • 打赏
  • 举报
回复
在新建report的时候,report creation wizard 的第一步就是绑定数据库。
另外在report设计器里,右击字段浏览器的数据库字段,选择“数据库专家”,也能选择一个数据库绑定。

4,820

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧