最近发现把所有的报表作为嵌入资源编译到主程序中,exe文件比较大。
有没有下面的实现方法:
***报表是推式。先通过程序获得数据源,例如DataSet,然后再加载报表文件(从部署到客户端的磁盘中加载),再给报表设定已获得的数据源DataSet。注:
1、报表是推式,非拉式。如果是拉式是可以从磁盘加载的。
2、不需要考虑报表设计用的数据源与加载时设定的数据源类型是否一致,程序可以确保一致。
有没有下面的实现方法:
***报表是推式。先通过程序获得数据源,例如DataSet,然后再加载报表文件(从部署到客户端的磁盘中加载),再给报表设定已获得的数据源DataSet。注:
1、报表是推式,非拉式。如果是拉式是可以从磁盘加载的。
2、不需要考虑报表设计用的数据源与加载时设定的数据源类型是否一致,程序可以确保一致。
解决方案 »
- MSDN上一个wcf的例子的疑问
- 【100】简单的 多条件判断语句
- ASP.NET页面问题..控件变名了...
- 如何改变winForm(C#)标题栏的颜色?
- [在线求助]送分200或更高!WebControls.TreeView动态绑定数据库的问题
- listview大容量数据问题,请各位高手相助!
- 在windows Form中怎样在两个窗口中传递参数?
- System.InvalidOperationException错误
- 如何调用windows Service,提供服务?
- 请问:如何取得数据集中某条记录的某个字段的值?(详情请看内容)
- 在一个程序中创建了一个Thread0(socket receive message)循环线程,如果在这个线程中可能会有几个同步的消息,为何响应了一个Fun1时(此消息
- web控件和html控件到底有什么区加别
reportDocument.Load(@"E:\代码\rpttest\CrystalReport1.rpt");
reportDocument.SetDataSource(myDataSet);
crystalReportViewer1.ReportSource = reportDocument;
this.crystalReportViewer1.RefreshReport();不知道你是不是这个意思?
楼主的意思是,客户端报表的条件和字段都设置好了!
在代码中,组织sql和生成数据源,给报表对象一个dataset!本人只在active report中用过,楼主所指的模式。
Dim cn As New MySqlConnection("server=localhost;user id=root;password=1234;database=gs")
Dim adpt As New MySqlDataAdapter("SELECT user.id, user.name,user.age,user.address, scores.chinese, scores.maths, scores.english FROM User INNER JOIN scores ON (user.id=scores.id) ORDER BY User.id", cn)
Dim ds As New DataSet cn.Open()
adpt.Fill(ds)
cn.Close()
Dim rept As New CrystalReport2
rept.SetDataSource(ds.Tables(0))
'Response.Write(ds.Tables(0).Rows.Count())
ds = Nothing
adpt = Nothing
Me.CrystalReportViewer1.ReportSource = rept
Me.CrystalReportViewer1.DataBind()
rept = Nothing
這種方式可以對資料做處理,還可以在此寫上過濾條件,省去傳遞參數...
<<<<要的就是你的这种方式,谢谢。
to daisylh(婁子)
<<<<谢谢你的回答,不过的你的报表不是从磁盘加载的,而是强名称类型(忘了是不是这样表达)。