Stimul Report:通过显示报告来加载businessObjects

时间:2013-03-16 08:16:57

标签: stimulsoft

我保存了报告模板:

report.Save("C:\\kk.mrt");

然后我加载已保存的报告并将其BusinessObjects指定为Dictionaries

StiReport rptLoad = new StiReport();
rptLoad.RegBusinessObject("Company", repository.GetAll<Company>());
rptLoad.Load("C:\\kk.mrt");

rptLoad.BusinessObjectsStore包含已注册的BusinessObjects Watched RunTime}但是:

rptLoad.Show();
  • 如果已保存的报告中包含Bindings(例如:Components.Add(new StiText{Text="{Company.Name}"}):那么

    让我:error CS0103: The name 'Company' does not exist in the current context

  • 如果我在保存的报告中没有Bindings:那么

    rptLoad.Show();会显示报告,但没有注册Dictionaries(因为我在显示报告后进入设计模式,我在词典中看不到BusinessObjects

    < / LI>
  • 如果我在rptLoad.Design();之前致电rptLoad.Show();:那么

报告显示且Bindings没问题,我可以在显示的报告中看到BusinessObjects(在设计和预览模式下)。

1 个答案:

答案 0 :(得分:1)

找到原因:

            rptLoad.Dictionary.Synchronize();

应在rptLoad.RegBusinessObject("Company", repository.GetAll<Company>());

之后致电