找回密码
 立即注册

QQ登录

只需一步,快速开始

chiefen

中级会员

7

主题

20

帖子

881

积分

中级会员

积分
881

活字格认证

[已处理] 关于XML数据源

chiefen
中级会员   /  发表于:2014-5-25 21:59  /   查看:5498  /  回复:4
请问如何在配置数据时直接加载XML格式的数据源,我用DEMO中的几个XML文件绑定后配数据集或绑定字段查询都报错。另XML格式数据源的标准格式是什么,连接字符串怎么写?

4 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-5-26 09:27:00
沙发
安装AR8后的XML 相关的demo如下:
<User Folder>\ComponentOne Samples\ActiveReports 8\Page Reports\CPL\API\C#\XmlDataProvider
<User Folder>\ComponentOne Samples\ActiveReports 8\Section Reports\C#\Data\XML

报错误截图请上传一下。

AR的XML数据源,使用这个类实现,可参考上面例子中的代码:
GrapeCity.ActiveReports.Data.XMLDataSource



On the Fields page, enter the values in the table below to create fields for your report. Values for XML data fields must be valid XPath expressions.
Field NameTypeValue
NameDatabase Field@name
CurrencyDatabase Field./ExchangeRates/Currency
2004Database Field./ExchangeRates/VsUSD2004
2003Database Field./ExchangeRates/VsUSD2003
2002Database Field./ExchangeRates/VsUSD2002
2001Database Field./ExchangeRates/VsUSD2001
2000Database Field./ExchangeRates/VsUSD2000
参考文档:ActiveReports 8 > ActiveReports User Guide > Samples and Walkthroughs > Walkthroughs > Page Report Walkthroughs > Data > Reports with XML Data

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
chiefen
中级会员   /  发表于:2014-5-27 15:07:00
板凳
我是想在报表设计时支持把XML数据源绑到设计器里进行报表配置,我看DEMO中的报表模板例子基本都是绑的OLE对象
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-5-27 16:32:00
地板
回复 3楼chiefen的帖子

同样在安装AR8后,有非OLE的XML数据源例子:
C:\Users\rogerwang\Documents\ComponentOne Samples\ActiveReports 8\Page Reports\CPL\API\C#\XmlDataProvider\XmlDataProvider

实现步骤如下:
1 添加数据源,选择XML类型,DataSource参考如下:
  

  1. XmlData=<people>
  2.   <person>
  3.     <name>
  4.       <given>John</given>
  5.       <family>Doe</family>
  6.     </name>
  7.   </person>
  8.   <person>
  9.     <name>
  10.       <given>Jane</given>
  11.       <family>Smith</family>
  12.     </name>
  13.   </person>
  14. </people>;
  15.   
复制代码

2  然后添加DataSet,查询字符串写
  
  1. /people/person/name
复制代码

3 再添加字段

  1. Name: Given; Value: given
  2. Name: Family; Value: family
  3.   
复制代码

4 实际中,通过代码替换XML文件
  

  1.    private void OnLocateDataSource(object sender, LocateDataSourceEventArgs args)
  2.         {
  3.             object data = null;
  4.             string dataSourceName = args.DataSourceName;
  5.             DataLayer Source = new DataLayer();
  6.             if (dataSourceName == "BandedListDS")
  7.             {
  8.                data = Source.CreateReader(); //加载XML文件,文档结构请和第一步中DataSource、DataSet一致
  9.             }
  10.             else if (dataSourceName == "CountrySalesDS")
  11.             {
  12.                data = Source.CreateDocument();
  13.             }
  14.             args.Data = data;
  15.         }
  16.   
复制代码



更详细的参考文档:  
http://helpcentral.componentone. ... En/AddaDataset.html
http://helpcentral.componentone. ... rtswithXMLData.html
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-9 09:13:00
5#
欢迎有问题开新帖沟通。


  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部