CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

水晶报表子报表有条件显示数据的问题,高手请进up者有分

楼主huguangwu(追风少年)2005-06-13 00:18:42 在 .NET技术 / VB.NET 提问

 
  需求:  
  ============  
  我有一个Order和一个OrderDetail表,二者通过外键相关连,我想用水晶报表显示某一条订单时,同时显示该订单的详细订购情况,然后打印。我在主报表中插入了一个订单详细的子报表  
   
   
  问题:  
  ============  
   
  打印某一条订单时,并不是显示该订单下的详细订购条目,而是显示OrderDetail表的全部内容  
   
  我的代码:  
  ============  
  'curr_TraPKID为Order表的主键,OrderDetail的外键  
  '=======================  
      Dim   prtTran   As   New   DataAccess.Transport  
   
                  '设置主表  
                  Dim   dsTran   As   DataSet   =   prtTran.TraGetByTraPKID(curr_TraPKID)  
                  Dim   prtTranTable   As   DataTable   =   dsTran.Tables(0)  
                  Dim   rptTran   As   New   crTran  
                  rptTran.SetDataSource(prtTranTable)  
                  dsTran.Dispose()  
   
          '设置子表()  
                  Dim   dsTranDetail   As   DataSet   =   prtTran.TrdGetByTraPKID(curr_TraPKID)   
      'msgbox(dsTranDetail.tables(0).rows.count)    
      '=============  
      '弹出的消息框的值,也就是记录条数是正确的,但显示却把整个表的数据显示出来  
      '=========================  
                  Dim   prtTranDetailTable   As   DataTable   =   dsTranDetail.Tables(0)  
                  Dim   rptTranDetail   As   New   crTranDetail  
                  rptTranDetail.SetDataSource(prtTranDetailTable)  
                  dsTranDetail.Dispose()  
       
      ……  
         crvTransport.ReportSource   =   rptTran  
                  '========================================  
                  'crvTransport.ReportSource   =   rptTranDetail  
      '单独显示该子表也正确  
                  ’=====================  
                  crvTransport.Zoom(75)  
   
  高手请出手相助,up者亦有分,谢谢! 问题点数:20、回复次数:16Top

1 楼yikais(红树林)回复于 2005-06-13 08:28:39 得分 1

建立一个从主表到子表的,关键字链接。Top

2 楼dingjuntm(大山)回复于 2005-06-13 08:30:50 得分 1

UP)!Top

3 楼huguangwu(追风少年)回复于 2005-06-13 09:15:47 得分 0

to     yikais(莫道君行早,更有早行人。  
   
  两个表已通过外键关键,子表绑定的dataset为正确的Top

4 楼huguangwu(追风少年)回复于 2005-06-13 09:20:14 得分 0

大虾帮忙啊~不够再加分~Top

5 楼fslyw()回复于 2005-06-13 09:26:37 得分 1

把数据先查出来,再绑定到水晶报表中就可以了。这样做还可以减少读取不必要的数据。Top

6 楼huguangwu(追风少年)回复于 2005-06-13 18:46:23 得分 0

楼上几位还没有看懂我的意思,自己upTop

7 楼yapub(vs.net)回复于 2005-06-14 08:52:42 得分 1

upTop

8 楼huguangwu(追风少年)回复于 2005-06-14 09:29:42 得分 0

其实我的问题类似这位朋友的问题,但是我不知道 如何按回复的人来做,在用报表设计器设计时,选择数据源总是不能选择该dataset.xsd文件作为数据源Top

9 楼huguangwu(追风少年)回复于 2005-06-14 09:32:17 得分 0

http://community.csdn.net/Expert/topic/3912/3912384.xml?temp=.6569788Top

10 楼yiyue(六月)回复于 2005-06-14 11:57:27 得分 1

取个巧哈  
   
  先建一个专门显示报表信息的tmp表,列要建来足够多。  
   
  显示报表时,先将此表清空,  
  再将按条件得到的结果放在这个表中,  
  再刷新这个tmp表对应的报表。Top

11 楼lldxiaodao()回复于 2005-06-14 18:28:35 得分 10

我遇到过你所说的这种情况,但是当我做出来后,实际上水晶报表的子报表并不稳定(个人认为),经常出现问题,于是我便直接在一个报表中解决要两个报表解决的问题,以下是我做的方法:  
  1.建立一个dataset1,将Order表和OrderDetail表都放到里面去,并通过外键关联两表.  
  2.根据你的要求检索Order表  
  3.根据Order表检索OrderDetail表  
  4.将检索的两个表的记录合并到1.建立的dataset1中  
  5.把dataset拖到报表中设计(把Order表的字段排在前面,显示完Order表内容后,紧跟排放OrderDetail表字段)  
  6.代码中指定报表的数据源是dataset1Top

12 楼lldxiaodao()回复于 2005-06-14 18:47:50 得分 2

如果你还是坚持用子报表,那也可以参考我上面的方法.但是我始终觉得,报表只是用于组织数据,使数据显示得更有价值,对于数据的操作,更多的应该在程序代码下完成,用dataset组织你的数据结构是比较好,而且能用于水晶报表的办法.Top

13 楼shyming(Forest Robber)回复于 2005-06-14 21:16:35 得分 1

create   a   view...Top

14 楼ghchen()回复于 2005-06-15 12:36:22 得分 1

学习,关注,顶Top

15 楼Jeacey()回复于 2005-06-15 13:00:05 得分 1

其实这个报表可与不用子报表实现,把主报表数据放在页眉处,子报表的内容  
  放在详细信息部分。  
  若采用子报表,你可以使用连接把子报表的数据加载显示,打印时只打印子报表  
  你的错误可能是数据源绑定的有问题!Top

16 楼huguangwu(追风少年)回复于 2005-06-30 11:14:17 得分 0

注:本人最后解决办法是  
   
  采用xsd文件建立一个dataset,采用推的方式成功的。参考了网上一篇文章,忘记网址了,如后来者遇到与我同样的问题的时候,可以采取这种办法。Top

相关问题

  • 水晶报表数据源的问题。
  • 水晶报表预览没有数据
  • 水晶报表显示不了数据
  • 水晶报表数据显示问题
  • 水晶报表10.0数据源问题
  • 水晶报表10数据集问题~???
  • 水晶报表的数据源问题
  • 水晶报表
  • 水晶报表!
  • 水晶报表

关键词

  • 报表
  • 数据
  • 水晶报表
  • 检索
  • 代码
  • 打印
  • 解决
  • 内容
  • 表
  • crvtransport

得分解答快速导航

  • 帖主:huguangwu
  • yikais
  • dingjuntm
  • fslyw
  • yapub
  • yiyue
  • lldxiaodao
  • lldxiaodao
  • shyming
  • ghchen
  • Jeacey

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo