我创建了一个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();
答案 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)
首次公开报告与刺激报告设计师
在“词典”选项卡的顶部,单击“操作”,然后选择“导入XML架构”并选择数据集文件(带有XSD扩展名),选择“导入XML架构”并选择数据集文件
添加其他数据集重复步骤2,但选择“合并XML架构”
在您的应用代码上,使用如下:
StiReport report = new StiReport();
report.Load(Server.MapPath(@"Report.mrt"));
report.Compile();
report.RegData(myDataSet1);
report.RegData(myDataSet2);
StiMobileViewer1.Report = report;