1

レポート テンプレートを保存します。

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

BusinessObjects次に、保存したレポートをロードして、次のように割り当てます。Dictionaries

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

rptLoad.BusinessObjectsStoreBusinessObjects登録済みの登録済み ( Watchedat ) が含まれていますRunTimeが、:

rptLoad.Show();
  • 保存されたレポートにBindings(Like: Components.Add(new StiText{Text="{Company.Name}"}) が含まれている場合: THEN

    私を取得します: error CS0103: The name 'Company' does not exist in the current context

  • ELSEBindings保存したレポートに何もない場合: THEN

    rptLoad.Show();レポートが表示されますが、登録されていませんDictionaries(レポートを表示した後にデザインモードにするとBusinessObjects、辞書に表示されません)。

  • そして、私がrptLoad.Design();前に電話したrptLoad.Show();場合:THEN

レポートが表示され、 BindingsOKBusinessObjectsで、表示されたレポートで確認できます (デザイン モードとプレビュー モードの両方で)。

4

1 に答える 1

2

原因が見つかりました:

            rptLoad.Dictionary.Synchronize();

後に呼び出す必要がありますrptLoad.RegBusinessObject("Company", repository.GetAll<Company>());

于 2013-03-16T08:31:40.143 に答える