找回密码
 立即注册

QQ登录

只需一步,快速开始

ZZG

注册会员

1

主题

4

帖子

11

积分

注册会员

积分
11
最新发帖
ZZG
注册会员   /  发表于:2017-5-16 14:55  /   查看:3704  /  回复:6
如题,在处理数据源的时候会经常需要绑定多个Datatable,可是没找到怎么绑定,单个表可以直接使用且正常运行,但多个表没找到解决方法,直接绑定到dataset,xml档要怎么设计,我的运行不起来

6 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-5-16 15:47:29
沙发
您好,这块你可以参照自定义数据源的概念来做,大概思路如下:
  1. private void CreateReport(string  strSelect, string  strConn)         
  2. {
  3.   
  4.   // fill a DataSet object         
  5.    OleDbDataAdapter da;        
  6.   da = new OleDbDataAdapter(strSelect, strConn);        
  7.   DataSet  DataSet ds = new DataSet();        
  8.   da.Fill(ds);

  9.   // get the DataTable object         
  10.    DataTable dt = ds.Tables[0];

  11.   // load report         
  12.   c1r.Load("RepDef.xml", "My Report");

  13.   // render report         
  14.   c1r.DataSource.Recordset = ds.Tables[0];        
  15.   c1ppv.Document = c1r;
  16.    
  17. }
复制代码

上述代码使用ADO.NET的标准要求创建了自定义的DataTable对象,然后将该表格数据指定给Recordset属性。 注意,你也可以不依赖实际的数据库,即时创建并填充DataTable对象。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
ZZG
注册会员   /  发表于:2017-5-17 08:36:51
板凳
JeffryLI 发表于 2017-5-16 15:47
您好,这块你可以参照自定义数据源的概念来做,大概思路如下:

上述代码使用ADO.NET的标准要求创建了自 ...

这段代码是单个表的数据绑定,这个我已经实现了,现在我想要实现的是多个Datatable的时候
c1r.DataSource.Recordset = ds.Tables[0];        
Recordset这个属性只能绑定一次?如果再绑定第二个表就替换掉第一个了?
回复 使用道具 举报
ZZG
注册会员   /  发表于:2017-5-17 08:43:32
地板
JeffryLI 发表于 2017-5-16 15:47
您好,这块你可以参照自定义数据源的概念来做,大概思路如下:

上述代码使用ADO.NET的标准要求创建了自 ...

还有一个问题就是如果有子报表的话,子报表的数据源怎么用程式码绑定?一个C1Report下面可以有多个报表,但一个C1Report只能绑定一个数据源吗?那怎么分配这些数据。排除在设计画面分别添加,那个好实现,现在想要的是用程式控制这些数据的绑定和处理。辛苦了
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-5-17 10:03:39
5#
您好,C1Report只支持一个数据源,如果两个表之间没有关系的话,就像您的说的绑定第二个数据源,就会替换第一个,如果两张表有的外键关系,那可以形成关系表,例如父子关系的那种,这样可以作为一个数据源绑定到Report。Report最大的功能,表格的上内容完全可以自己绘制,数据您也可以根据自己的需求组织。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
ZZG
注册会员   /  发表于:2017-5-17 11:24:11
6#
JeffryLI 发表于 2017-5-17 10:03
您好,C1Report只支持一个数据源,如果两个表之间没有关系的话,就像您的说的绑定第二个数据源,就会替换第 ...

好吧,暂时这样吧。是不是咱们的报表功能更多的是放到ActiveReport那些上面的,C1Report只是Winform控件下的一个辅助报表而已呀?两个的功能差别有多大?主要差在哪些方面?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-5-17 11:44:25
7#
您好,目前我们ActiveReport功能比C1Report强大,C1report功能比较单一,具体您可以留意下联系我方式,我让ActiveReport技术顾问联系您,给您详细介绍下,您在做对比。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部