簡體   English   中英

水晶報表未鏈接的子報表

[英]Crystal report unlinked Subreport

我有一份包含幾個部分的報告

  • 頁眉a(公司信息)
  • 頁眉b(子報告:具有特定國家/地區的列表)
  • 頁面頁眉c(子報表:具有特定產品的列表)
  • 頁面標題d(子報告:具有特定項目的列表)

報告的數據源通過C#應用程序(推送方法)由數據集“ DS1”給出

因為在后台復雜的邏輯,它被確定為具有數據集“DS1”具有4個數據表(tbl0,TBL1,TBL2,TBL3),以在數據集分別保持正確的數據。

數據集沒有任何關系,因為我直接將最終數據結果加載到了數據集中的相關數據表中

DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dt4 = new DataTable();

Load_CompanyInfo(country_ID, ref dt1);
Load_Countries(_ApprovalID, ref dt2);
Load_Products(_ApprovalID, ref dt3);
Load_Items(_ApprovalID, ref dt4);

_ds_tmp.Tables.Add(dt1);
_ds_tmp.Tables.Add(dt2);
_ds_tmp.Tables.Add(dt3);
_ds_tmp.Tables.Add(dt4);

在Form ReportView.cs中,我已將數據集分配給了報表。

rep_c_single.SetDataSource(ds.Tables[0]);                   // Main company info
rep_c_single.Subreports[0].SetDataSource(ds.Tables[1]);     // countries
rep_c_single.Subreports[1].SetDataSource(ds.Tables[2]);     // products
rep_c_single.Subreports[2].SetDataSource(ds.Tables[3]);     // items
rep_c_single.Refresh();
cr_Viewer.ReportSource = rep_c_single;

在報告文件上,子報告沒有指向主報告的鏈接字段。 因為最終數據是在數據表中准備的。 我只想獨立於主報表數據源在子報表中顯示數據。

到目前為止,子報表列出的是所有國家/地區和所有產品,而不是數據表中的內容。

編輯: 值得一提的是:子報表和主報表沒有任何關系。 我只想將數據推送到相關的子報表

謝謝你的幫助

我不完全確定..但是我已經做了一次。

  1. 確保您的報告具有基於主報告的主鍵的組(要與之鏈接所有子報告)

  2. 右鍵單擊子報告

  3. 更改子報告鏈接

  4. 在可用字段中,選擇子報表或相應數據表的列名

  5. 單擊添加以將其添加到字段中以進行鏈接,它還將顯示在子報告參數中,以使用下面的下拉列表

  6. 檢查標志-根據字段在子報告中選擇數據

  7. 選擇您在第一步中創建的主報告主鍵組

希望它能工作.. :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM