主报表里面由许多重复的子报表组成
子报表的数量和数据由主报表中的数据决定
请问在vs2003系统自带的报表怎么做??

解决方案 »

  1.   

    一、使用视图meeting将多表关联整合在一起二、通过Sql语句筛选数据三、建立和主从表的关联四、注意在CrystalReport1表中插入子报表的时候,一定要将主从表的关联字段设置好,否则出乱子主体代码如下:/// <summary>
      /// Bind CrystalReport
      /// </summary>
      /// <param name="strS">sql</param>
      private void bdReport(string strS)
      {
       oCR = new CrystalReport1();
       SqlConnection cnn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"]);   SqlDataAdapter cmd1 = new SqlDataAdapter(strS,cnn);   //Create and fill the DataSet.   DataSet2 ds = new DataSet2();
       cmd1.Fill(ds,"meeting");   // SqlDataAdapter cmd2 = new SqlDataAdapter("select * from realplan where rplanid in (select top 10000 planid from ("+sqlStr+")as  a order by planid)", cnn);
       SqlDataAdapter cmd2 = new SqlDataAdapter(SqlIsOper, cnn);
       
       cmd2.Fill(ds,"realplan");   //Create the relation between the Authors and Titles tables.
       ds.Relations.Add("mo",
        ds.Tables["meeting"].Columns["planid"],
        ds.Tables["realplan"].Columns["rplanid"]);   //binding reportViewer
       oCR.SetDataSource(ds);   this.CrystalReportViewer1.ReportSource = oCR;   //Close the connection.
       cnn.Close();
       
      }