水晶报表高手请进!有一个问题,100分

cetropan 2005-06-16 10:38:53
查找了很长一段时间,几乎没有找到我的问题的答案。我的问题是,我们的项目需要打印查询到的结果(在DataGrid中)。采用数据连接层(单独的一个数据库连接类)连接数据库并产生结果集,所以在设计报表文件(*.rpt)时不可能存在数据库连接出来的字段。所以要通过程序动态加载到结果集和报表文件(*.rpt)中。请问有什么更好的方法?
...全文
190 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeeSunSet 2005-07-20
  • 打赏
  • 举报
回复
1,建一个DATASET文件,其结构等同于你的数据类返回的DATASET结构.
2,以此DATASET文件为数据源做报表.
3,运行数据类得到你的DATASET结果集,
4,当得到的结果集设为报表实例的数据源.
dim rpt as new Report1
rpt.setDataSource(DataSet)
'记住你在数据类中FILL你的DATASET的时候一定要用跟DATASET文件里的表名同名的名称.否则报表显示不了.
5,显示报表.
bearhunter 2005-07-16
  • 打赏
  • 举报
回复
列固定吗?列固定还是比较方便的
wenjinhe 2005-07-16
  • 打赏
  • 举报
回复
同意用DATASET做数据源的推模式!
zgd_net 2005-07-14
  • 打赏
  • 举报
回复
'运行时动态链接数据库

Private Sub ReportConnection(ByVal report As Object)

' 声明所需变量。
'TableLogOnInfo提供属性,以便检索和设置表连接选项。
Dim logOnInfo As New CrystalDecisions.Shared.TableLogOnInfo
Dim i As Integer


' 对报表中的每个表依次循环。
For i = 0 To report.Database.Tables.Count - 1
' 设置当前表的连接信息。
logOnInfo.ConnectionInfo.ServerName = "server"
logOnInfo.ConnectionInfo.DatabaseName = "database"
logOnInfo.ConnectionInfo.UserID = "sa"
logOnInfo.ConnectionInfo.Password = "sa"
report.Database.Tables.Item(i).ApplyLogOnInfo(logOnInfo)
Next i

End Sub
zr1982930 2005-07-14
  • 打赏
  • 举报
回复
推模式嘛,DATASET做数据源嘛!
liduke 2005-07-13
  • 打赏
  • 举报
回复
通过将数据生成EXCEL后打印
SeeSunSet 2005-06-24
  • 打赏
  • 举报
回复
不如直接把DATAGRID打印到EXCEL好了..
cetropan 2005-06-24
  • 打赏
  • 举报
回复
楼上的同仁,能否说明白点。
彩香平民 2005-06-22
  • 打赏
  • 举报
回复
你查询结果的那些列名是固定的吧,如果列名固定,也就是结构固定,只是记录条数不同,
有什么难点?难道你的列也是动态变化的?
cetropan 2005-06-18
  • 打赏
  • 举报
回复
》》》》难道没有高手!
cetropan 2005-06-17
  • 打赏
  • 举报
回复
》》》》难道没有高手!
cetropan 2005-06-16
  • 打赏
  • 举报
回复
如何利用第三方控件
火雷 2005-06-16
  • 打赏
  • 举报
回复
我也想知道,关注。。。 顶
landlordh 2005-06-16
  • 打赏
  • 举报
回复
不用水晶报表,用第三方报表控件

否则是很麻烦,还不一定能达到理想的效果

4,818

社区成员

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

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