ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何在C#中使用XML(XML来自Web服务)创建Crystal报表

2019-07-04 01:55:42  阅读:324  来源: 互联网

标签:c xml linq-to-xml crystal-reports crystal-reports-2010


我想知道如何从XML创建一个水晶报表(XML来自Web服务),我在一些教程中读到它需要找到文件并拖动报表中的字段,但是如何从一个XML中获取XML网络服务?

以下是我如何从Web服务获取XML的代码

  var doc = XDocument.Parse(trx.GetCardTrx("xxxxx", "xxxx", "xxx", "", dateTimePicker1.Text, dateTimePicker2.Text, "", "", "", "", "", "", "", "", "", "", "", "FALSE", "", "", "", "", "", "", "", "", "", "", ""));
MessageBox.Show(doc.ToString());

所以这段代码返回这种值(来自MessageBox.Show(doc.ToString())

这是应该在报告中的选定值的代码

var summary = from r in doc.Descendants("TrxDetailCard") 
                      select new 
                      {
                          Account_Type = r.Element("Account_Type_CH").Value,
                          Captured = r.Element("Captured").Value,
                          Trans_Type_ID = r.Element("Trans_Type_ID").Value,
                          Acct_Num_CH = r.Element("Acct_Num_CH").Value,
                          Tip_Amt_MN = r.Element("Tip_Amt_MN").Value,
                          Total_Amt_MN = r.Element("Total_Amt_MN").Value,
                          Date_DT = r.Element("Date_DT").Value,
                      };

我想要发生的是使用Crystal Reports创建一个包含此值的报表,而不是所有值.仅选定值.我怎么可能这样做?任何想法都将是一个很大的帮助谢谢你:D

解决方法:

这尚未经过测试,但您可以尝试以下内容

using System.Xml;
using System.Xml.Linq;

var doc = XDocument.Parse(trx.GetCardTrx("xxxxx", "xxxx", "xxx", "", dateTimePicker1.Text, dateTimePicker2.Text, "", "", "", "", "", "", "", "", "", "", "", "FALSE", "", "", "", "", "", "", "", "", "", "", ""));

  var data = new DataSet();
  var context = new XmlParserContext(null, new XmlNamespaceManager(new NameTable()), null, XmlSpace.None);
  var reader = doc
  data.ReadXml(reader);

  var report = new ReportDocument();

  report.SetDataSource(data);
  this.crystalReportViewer1.ReportSource.ReportSource = report;

理论上的理念应该有效,但你可以从这个链接中引用类似的东西
XML-based Crystal Report not updating child objects on refresh

标签:c,xml,linq-to-xml,crystal-reports,crystal-reports-2010
来源: https://codeday.me/bug/20190704/1372286.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有