如何使用2个DataTable发送数据集到Stimulsoft报告

时间:2012-08-29 12:29:47

标签: c# dataset stimulsoft

我创建了一个C#程序并连接到stimulsoft for Make Reports。

我发送带有2 Datatable的数据集到我的报告中,代码如下:

DataSet ds = new DataSet();
dtP.TableName = "dtP";
dtF.TableName = "dtF";
ds.Tables.Add(dtP);
ds.Tables.Add(dtF);
Report.RegData(ds);
Report.Show();

和“报告”是stireport对象。

我的报告页面显示。我的报告是空的。

当只有1个数据表作为数据集发送到我的报告时,它运行良好。


解决:

将以下代码添加到我的c#程序可以解决我的问题:

objStiReport.Dictionary.Clear();
objStiReport.RegData(ds);
objStiReport.Dictionary.Synchronize();

3 个答案:

答案 0 :(得分:2)

我也有这个问题。我尝试了很多方法,但没有人解决问题。我在stimulsoft报告设计师的字典中改变了一些东西。

1)选择Data from Dataset, DataTable数据适配器类型

2)设置Name In Source属性的名称(例如DS

3)向DS添加一些表格,并将Name In Source的表格设置为DS.Table1。请注意,设置此类表的Name In Source属性非常重要。

当我设置Name In Source这样的表的DS.TableName属性时,问题就消失了。

答案 1 :(得分:1)

 1. Merge your 2 datables

dtP.Merge(dtF, false, MissingSchemaAction.Add);

 1. fill your report with datatable
Report.RegData(dtP);

另一种方式(如果数据表不能合并)是创建一个数据表 包含每个数据表的所有列

您可以创建一个数据关系来建立关系 两个数据表之间但是RegData方法可以理解一个关系(datarelationp)吗?

答案 2 :(得分:0)

  1. 首次公开报告与刺激报告设计师

  2. 在“词典”选项卡的顶部,单击“操作”,然后选择“导入XML架构”并选择数据集文件(带有XSD扩展名),选择“导入XML架构”并选择数据集文件

  3. 添加其他数据集重复步骤2,但选择“合并XML架构”

  4. 在您的应用代码上,使用如下:

     StiReport report = new StiReport();
     report.Load(Server.MapPath(@"Report.mrt"));
     report.Compile();
    
     report.RegData(myDataSet1);
     report.RegData(myDataSet2);
     StiMobileViewer1.Report = report;