2013-03-11 82 views
0

我想在Visual Studio 2012中開發客戶端報告。我的報告可以很好地處理不同的選擇標準變量。過濾器中出現多個選定列表值時出現錯誤。傳遞值爲如何傳遞多個值來報告查看器數據源

<SelectParameters> 
     <asp:FormParameter DefaultValue="0" FormField="ctl00$MainContent$BasicFilterControls$ddlStartHour" Name="StartHour" /> 
     <asp:FormParameter DefaultValue="0" FormField="ctl00$MainContent$BasicFilterControls$ddlStartMinute" Name="StartMinute" /> 
     <asp:FormParameter DefaultValue="2012-11-01" FormField="ctl00$MainContent$BasicFilterControls$txtStartDate" Name="DateFrom" /> 
     <asp:FormParameter DefaultValue="23" FormField="ctl00$MainContent$BasicFilterControls$ddlEndHour" Name="EndHour" /> 
     <asp:FormParameter DefaultValue="59" FormField="ctl00$MainContent$BasicFilterControls$ddlEndMinute" Name="EndMinute" /> 
     <asp:FormParameter DefaultValue="2012-11-01" FormField="ctl00$MainContent$BasicFilterControls$txtEndDate" Name="DateTo" /> 

     <asp:SessionParameter DefaultValue="5027" Name="AgentList" SessionField="AgentList" /> 
    </SelectParameters> 

查詢需要AgentId作爲SkillTargetID IN(@AgentList)。當我通過單一的價值5000作品罰款和顯示記錄。但是當我傳遞多個值爲5000,5001,5002等時出現錯誤。任何建議將多個值傳遞給報告查看器。 我曾試圖與

5000,5001,5002

'5000', '5001', '5002'

(5000,5001,5002)

( '5000'), ( '5001'),( '5002')

Error

我上的Visual Studio 2012嘗試此時,SQL Server 2008 R2和.NET Framework 4.5。

+0

那麼..你可以寫一些代碼或關於你的行爲的一些話?你是否創建了'List '並將它傳遞給數據集?你想在哪裏顯示這些數據?在桌子上? – Chepene 2013-03-12 07:12:32

+0

我想通過這些值報告觀看數據source.I想過去在報告中的觀衆數據shource過濾器值 當我通過在多選擇的值時,這些過濾器工作正常,在AgentList單個值AgentList然後在將nvarchar值轉換爲數據類型int時將錯誤答覆爲失敗。 – 2013-03-12 07:15:49

+0

另一個問題呢? – Chepene 2013-03-12 07:16:49

回答

0

西爾我找不到任何妥善的解決辦法,但我通過改變數據源的SelectCommand查詢解決我的問題。在報告刷新button_click我只是改變MyDataSource.SelectCommand查詢爲

string AgentIds = "5000,5001,5002"; 
     MyDataSource.SelectComamnd = "Select * from Agent where AgentId IN ('" + AgentIds + "')"; 
     ReportViewer1.LocalReport.Refresh(); 

它的工作原理。如果有人找到一個連擊解決方案來爲DataSource變量添加多個值,那麼請更新我。