http://topic.csdn.net/u/20110615/22/7a392ed4-0509-4014-9a50-b1b5d1ee24b7.html
这是第一个帖子,希望得到大家的帮助。说明:
1,在后台程序中,建了两个DataSet,我用了两个存储过程来执行查询,返回到DataSet中;
2,建了一个数据集文件,后缀为xsd,建数据表DataTable1,和数据表DataTable2
3,在rdlc中建了个数据集DS1,和DS2,分别对应到DataTable1,和数据表DataTable2然后在rdlc中插入了一个表格,想对应数据集中的内容。法1:插入一个表格,想对应两个DataSet,可是.net不让,好像一个表格只能对应一个DataSet,
问题:难道真的是一个表格只能对应一个DataSet?感觉net不应该这么弱?法2:想把两个DataSet合并到一个DataSet中,这么做的:
DataSet ds1=……;DataSet ds2= ……;
 ReportDataSource rds1= new ReportDataSource("DS1", ds1.Tables[0]);
           
            ReportViewer1.LocalReport.DataSources.Clear();
            ReportViewer1.LocalReport.DataSources.Add(rds1);  
 
            ReportDataSource rds2= new ReportDataSource("DS1", ds2.Tables[0]); 
                    ReportViewer1.LocalReport.DataSources.Add(rds2);
            ReportViewer1.LocalReport.Refresh();可是ds2中的内容不显示,不知道为什么?法3:用多个表格来显示结果,可是表格之间总是用间距,能不能把两个表格组合成一个???

解决方案 »

  1.   

    用程序的方法合并为一个dataset不行吗
      

  2.   

    一个dataSet可以有N个表格,还不够你用啊?
      

  3.   


    这个方法我考虑了。主要是我的第一个select出来是多行的数据,而且数据的行数也不确定,
    第二个是一个月的累计,只有一行的数据
    那么第二个DS应该怎么和第一个合在一起呢?
    如果是当做一行放在最后,那么如何获取这最后一行的各列的数据;
    如果是当做一列放在最后,那么如何获取这最后一列的各行的数据;
    我没有想到。
      

  4.   

    看了一半去WC了2个DataSet合并一起呗。DEMO
     DataSet ds = new DataSet();
            DataTable dt1 = new DataTable();
            dt1.Columns.Add("Name");
            DataRow dr = dt1.NewRow();
            dr[0] = "楼主1";
            dt1.Rows.Add(dr);
            ds.Tables.Add(dt1);
            DataSet ds1 = new DataSet();
            DataTable dt2 = new DataTable();
            dt2.Columns.Add("Name");
            DataRow dr1 = dt2.NewRow();
            dr1[0] = "楼主2";
            dt2.Rows.Add(dr1);
            ds1.Tables.Add(dt2);        ds.Merge(ds1);
            Response.Write(ds.Tables[0].Rows.Count.ToString());部分方法
      

  5.   

    你先试一下吧如果不用Merge笨点的 就遍历。
      

  6.   

    如果用Merge的话,是两个表的行数增加,可是,我的第二个表是一个累计量,只有一行的数据,
    合并到一起根本不行的。
      

  7.   

    ds1.Tables[0].Columns.Add("newColumn");
                ds1.Tables[0].Rows[0]["newColumn"] = ds2.Tables[0].Rows[0][对应的列].ToString();