2011-04-05 89 views
3

在遠程模式下使用VS2010中的Asp.net Report Viewer,我們需要允許用戶在運行報表之前使用報表查看器中的默認控件輸入參數。將額外的userId參數添加到ASP.Net ReportViewer

由於需要在數據上設置權限,我們在所有報告上都有一個UserId隱藏參數,並且計劃允許用戶按照正常方式輸入參數,然後我們將在編程前添加userId參數報告運行。

報表中的數據將返回用戶有權查看的數據。

[我們使用SSRS Web服務來填充的用戶選擇可用報告的列表一​​個TreeView]

我想我遇到的麻煩什麼這樣做的最好的辦法。我需要將userId參數值傳遞給ReportViewer,而不是服務器報告。

我知道你可以使用web服務來完全管理控制之外的參數,但它不是我們當時的選項。

因此,在總結:在報表查看器

用戶選擇的參數。 代碼後面添加UserId參數值,可以是報告運行時,也可以是最初加載時的參數值,並且查看器將所有參數傳遞給服務器。

我會很感激任何幫助,你可以給。

利亞姆

回答

2

找到了答案,它是經過很簡單,也許沒有理由的問題,但在這裏它是在任何情況下,是在一個較低的波特率運行像我是昨天。

以下事件添加到報表觀衆

onsubmittingparametervalues="Viewer_SubmittingParameters" 

並在處理程序

protected void Viewer_SubmittingParameters(object sender, ReportParametersEventArgs e) 
    { 
     Microsoft.Reporting.WebForms.ReportParameter userIdParameter = 
      new Microsoft.Reporting.WebForms.ReportParameter(); 

     userIdParameter.Name = "UserId"; 
     userIdParameter.Values.Add(this.Username etc); 

     // Add to existing parameters 
     e.Parameters.Add(userIdParameter); 
    } 

利亞姆

+0

噢,我的,是我在低波特率運行。感謝大家花時間和記錄你的答案! – Jeroen 2012-06-14 08:02:16

相關問題