怎么样给水晶报表的子报表绑定数据。

fxmaster01 2006-05-30 03:41:25
比如 父:rptA
子: rptB rptc
我怎么通过dataset 给他们赋数据源?
...全文
822 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenzj2 2006-07-19
  • 打赏
  • 举报
回复
你可以通过单独用代码绑定子报表来解决这个问题。

string sConnectionString = ConfigurationSettings.AppSettings["dbCommISMS"];

SqlConnection sqlConn = new SqlConnection(sConnectionString);
SqlCommand sqlComm = new SqlCommand();
SqlDataAdapter dataAdapter = new SqlDataAdapter();

sqlConn.Open();

sqlComm.Connection = sqlConn;
sqlComm.CommandType = CommandType.Text;

dataAdapter.SelectCommand = sqlComm;

Dataset1 dataSet = new Dataset1();

string sSQL = "SELECT * FROM T_REQUEST WHERE APPLI_ID = ‘" + appli_id + "‘";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_REQUEST");

sSQL = "SELECT * FROM T_REQUEST_INSPECTION WHERE APPLI_ID = ‘" + appli_id + "‘";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_REQUEST_INSPECTION");

sSQL = "SELECT * FROM T_ACCEPT_INSPECTION WHERE APPLI_ID = ‘" + appli_id + "‘";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_ACCEPT_INSPECTION");

SubreportObject oSubreport1 = oRpt.ReportFooterSection1.ReportObjects["Subreport1"] as SubreportObject;
ReportDocument oSub1 = oSubreport1.OpenSubreport("Inspection");

oSub1.SetDataSource(dataSet);

SubreportObject oSubreport2 = oRpt.ReportFooterSection2.ReportObjects["Subreport2"] as SubreportObject;
ReportDocument oSub2 = oSubreport1.OpenSubreport("Survey");

oSub2.SetDataSource(dataSet);

SubreportObject oSubreport3 = oRpt.ReportFooterSection2.ReportObjects["Subreport3"] as SubreportObject;
ReportDocument oSub3 = oSubreport1.OpenSubreport("Allonge");

oSub3.SetDataSource(dataSet);

oRpt.SetDataSource(dataSet);

oViewer.ReportSource = oRpt;

oRpt 有三个字报表,dataSet 有三个表。
上述代码通过访问每个字报表,来实现子报表数据绑定
stevenzj2 2006-07-14
  • 打赏
  • 举报
回复
点击字报表的右键,选择“更改子报表链接”属性,选择你需要关联的字段即可。
fxmaster01 2006-06-02
  • 打赏
  • 举报
回复
老兄,好像他不认。我无论怎么传他都给我的数据是数据库中所有的,不能按照条件检索,也就是
赋予的dataset 没有顶用。
xwdd129 2006-06-01
  • 打赏
  • 举报
回复
比如,有rptA用到表1,rptB用到表2,两个表都放在DataSet里,那就一次填充即可:

OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter("SELECT * FROM 表1",oleDbConnection1);

dataAdapter1.Fill(DataSet,"表1");

OleDbDataAdapter dataAdapter2 = new OleDbDataAdapter("SELECT * FROM 表2,oleDbConnection1);

dataAdapter2.Fill(DataSet,"表2");
csdsuper 2006-06-01
  • 打赏
  • 举报
回复
关注,能否说详细一些,最好有代码,还有如果是通过load方式引用的怎么填充子报表呢?
xwdd129 2006-05-31
  • 打赏
  • 举报
回复
直接设计子报表模板,子报表数据与主报表数据一起填充进去即可,如果是多表,就多次Fill
fxmaster01 2006-05-30
  • 打赏
  • 举报
回复
ding

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧