已知有产品表 test_produce、销售员表 test_sale,
在winform模式下,采用水晶报表的推模式,怎么生成如下图
的报表样式?请各位指点!!!

解决方案 »

  1.   

    如果不分组,可以实现;如下代码:
    //已知 :
    //CtlWel_RptFile(ReprotDocument)
    //dt(手写的数据集表 dt表,数据结构等同test_produce)
    //rptMainV(CrystalReprotViewer)CtlWel_RptFile cr = new CtlWel_RptFile();
    cr.SetDataSource(dt);
    this.rptMainV.ReportSource = cr;
      

  2.   

    水晶报表支持dataset的数据源
    得到将两个表的内容为datatable放入dataset,然后给报表。报表中建立一个xsd文件表结构与datatable里面的一样,然后报表以这个xsd文件为框架,进行两个表的关系。只要这两步就可以做到了。
      

  3.   

    thanks to tjhdaxia:
    能就上面的图示,说得更具体一点吗?
      

  4.   


    报表中建立一个xsd文件表结构与datatable里面的一样,然后报表以这个xsd文件为框架,进行两个表的关系。 
    这一步不会做?
      

  5.   

    根本不需要子报表,不要把问题复杂化。添加xsd文件有xsd的选项,你就把xsd理解来dataset的框架。然后在报表里面直接的可视化的拉xds里面的表字段,因为你就可以理解为它就是dataset,当然在cs文件里面的报表需数据源需要获得ds
      

  6.   


    我刚才试了一下,怎么会显示6组记录,同一个组会显示两次?但是同组下的sale记录不同,
      

  7.   

    我刚才试了一下,怎么会显示6组记录,同一个组会显示两次?但是同组下的sale记录不同,
    正确模式应该是分三组,每组有两条记录,但是我显示出来分六组,每组一条记录,是不是我的xds里头的datatable关系错误?????
      

  8.   

    怎么回事呀,我得出的是六组,每组只显示一条销售记录;如下图
    在数据集xsd中,我已把test_produce 与 test_sale 做过主从表pro_id关联了,
    为什么就不出现分三组,每组两条记录的效果???我快疯了
    请各位指点!!!!!!!!!!!!!!!!!!!!!