5

我创建了一个 C# 程序并连接到 stimulsoft 以生成报告。

我使用以下代码将带有 2 个数据表的数据集发送到我的报告:

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

和“报告”是stilleport 对象。

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

当仅将 1 个数据表作为数据集发送到我的报告时效果很好。


解决:

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

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

3 回答 3

4

我也有这个问题。我尝试了很多方法,但没有一个能解决问题。我在 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,问题对我来说消失了。

于 2013-06-27T06:21:54.173 回答
2
 1. Merge your 2 datables

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

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

另一种方法(如果数据表无法合并)是创建一个数据表,其中包含每个数据表的所有列

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

于 2012-08-29T12:34:00.360 回答
0
  1. 第一个使用刺激报告设计器打开的报告

  2. 在 Dictionary 选项卡顶部,单击“Action”,然后选择“Import XML Schema”并选择您的数据集文件(带有 XSD 扩展名)选择“Import XML Schema”并选择您的数据集文件

  3. 要添加其他数据集,请重复步骤 2,但选择“Merg XML Schema”

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

     StiReport report = new StiReport();
     report.Load(Server.MapPath(@"Report.mrt"));
     report.Compile();
    
     report.RegData(myDataSet1);
     report.RegData(myDataSet2);
     StiMobileViewer1.Report = report;
    
于 2017-09-06T05:08:56.523 回答