【问题标题】:How to arrange this data in a crystal report?如何在水晶报表中排列这些数据?
【发布时间】:2012-01-31 06:01:47
【问题描述】:

我有一个这样的xml数据

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <supplier>
    <s_code>1</s_code>
    <net_weight>100</net_weight>
    <rate>100.00</rate>

    <items>
      <s_code>1</s_code> 
      <item_code>SKU001</items_code>
      <price>100</price>
    </items>
    <items>
      <s_code>1</s_code>
      <item_code>SKU002</items_code>
      <price>200</price>
    </items>

  </supplier>

  <supplier>
    <s_code>2</s_code>
    <net_weight>500</net_weight>
    <rate>150.00</rate>

    <items>
      <s_code>2</s_code>
      <item_code>SKU001</items_code>
      <price>100</price>
    </items>

  </supplier>

</root>

这就是我所做的

  1. 定义一个数据集和其中的两个表。
  2. DataTable1 存储供应商数据,DataTable2 存储商品数据
  3. 在 DataTable1 s_code 和 DataTable2 s_code 之间创建了嵌套关系
  4. 使用数据集创建了一个水晶报表,并将 s_code,net_weight 添加到标题部分和 item_code,price 进入详细信息部分。
  5. 然后我右键单击水晶报表并选择报表->选择专家并将部分分页选项卡设置为 1 条可见记录后的新页面

这是我用来将 xml 加载到两个表中的代码

DataSet reportData = new DataSet();
reportData.ReadXml("http://192.168.1.10/test/data.xml");

DataSet dset = new DataSet1();
dset.Tables[0].Merge(reportData.Tables[0]);
dset.Tables[1].Merge(reportData.Tables[1]);

ReportDocument report = new CrystalReport1();
report.SetDataSource(dset);
reportViewer.ViewerCore.ReportSource = report;

现在我收到了 3 页,其中包含供应商数据和项目。但我想显示 2 页 [每个供应商 1 页和每页中与每个客户相关的项目数据]

知道我在这里做错了什么吗?我应该怎么做才能达到我需要的输出。

问候

【问题讨论】:

    标签: c# .net xml .net-4.0 crystal-reports


    【解决方案1】:

    您的意思可能是“每个供应商 1 页”(而不是“每个客户 1 页”)。 如果我的假设是正确的,你需要使用“Report -> Group Expert”按DataTable1.s_code分组,然后使用section Expert为组头启用“New page before”。

    【讨论】:

    • 是的,第 5 点“1 条可见记录后的新页面”表示每个“项目”有 1 页。小组专家是正确的解决方案
    • fmunkert,它有效,非常感谢。一个小问题,但一旦我为组标题第一页设置“之前的新页面”,就会出现空白
    • 不知道这是正确的方法,但由于第一页是空白的,我在组标题中添加了公式“Not OnFirstRecord”,“之前的新页面”
    • 如果您的报告标题为空,请确保隐藏报告标题部分。那么,第一页就不会是空的了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多