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,我用了两个存储过程来执行查询,返回到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:用多个表格来显示结果,可是表格之间总是用间距,能不能把两个表格组合成一个???
这个方法我考虑了。主要是我的第一个select出来是多行的数据,而且数据的行数也不确定,
第二个是一个月的累计,只有一行的数据
那么第二个DS应该怎么和第一个合在一起呢?
如果是当做一行放在最后,那么如何获取这最后一行的各列的数据;
如果是当做一列放在最后,那么如何获取这最后一列的各行的数据;
我没有想到。
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());部分方法
合并到一起根本不行的。
ds1.Tables[0].Rows[0]["newColumn"] = ds2.Tables[0].Rows[0][对应的列].ToString();