2015-11-05 45 views
0

我需要在報表查看器(rdlc文件)中顯示一個客戶列表(每個客戶一頁)以及與該客戶相關的訂單(在客戶信息的同一頁上)和評論。如何插入Tablix,以便每個客戶都有一個分頁符?ReportViewer中的子表

這是它應該如何看:

這是如何我希望在報告中添加數據:

​​

編輯:也許我沒有正確表達。我不知道如何在列表項上顯示每個客戶的訂單和評論。我如何分組?如何設置的DataSet子表(訂單和評論)

+0

在報表設計器,用鼠標右鍵單擊該選項並選擇「在此列表之前插入分頁符「應該可以工作。 – Zen

+0

將客戶的行組添加到Tablix,將行組設置爲分組更改後的分頁符。 –

回答

0

我終於可以用報表:

  1. 一個用於標題(名稱和電話),子報表位置和分頁符的訂單

  2. 一個報表(CustomersOrders.rdlc)大報告:添加子報表參數(CustomerId)

  3. 評論的一個子報表(CustomersComments.rdlc):添加子報表參數(CustomerId)

  4. 包含客戶

在報告呈現窗口的列表中添加SubreportProcessing處理程序上的報告呈現窗口的靜態屬性:

LocalReport.SubreportProcessing += Customers_SubreportProcessing; 

private void Customers_SubreportProcessing(object sender, SubreportProcessingEventArgs e) 
{ 
    ReportParameterInfo customerId = e.Parameters.FirstOrDefault(c => c.Name == "CustomerId"); 
    if (customerId== null) 
     return; 

    Customer customer = _customersList 
     .FirstOrDefault(c => c.CustomerId == customerId.Values.FirstOrDefault()); 

    if (e.ReportPath == "CustomersOrders") // Name for subreport CustomersOrders.rdlc 
    { 
     e.DataSources.Add(new ReportDataSource("Orders", customer.Orders)); 
    } 
    else if (e.ReportPath == "CustomersComments") // Name for subreport CustomersComments.rdlc 
    { 
     e.DataSources.Add(new ReportDataSource("Comments", customer.Comments)); 
    } 
} 
0

下面的MSDN頁面https://msdn.microsoft.com/en-us/library/dd207058.aspx 表明,如果你想一個分頁符的表,矩陣或列表添加到行組然後按照下列步驟:

  1. 在分組窗格中,右鍵單擊一個行組,然後單擊組屬性
  2. 在分頁符選項卡上,選擇在分組的每個實例之間在表中的每個實例之間添加分頁符。
  3. (可選)選擇同時在組的開頭同時在組的末尾指定當組在表中開始或結束時添加分頁符。