<asp:SqlDataSource ID="workHourListSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:PlaningSystemConnectionString %>"
SelectCommand="SELECT *
FROM Date AS t1 FULL OUTER JOIN (SELECT * FROM WorkHoursEntry WHERE (WorkerID LIKE @WorkerID)) AS t2 ON t1.PKDate = t2.WorkDay
LEFT OUTER JOIN Worker AS t3 ON t2.WorkerID = t3.WorkerID
LEFT OUTER JOIN (SELECT * FROM Project WHERE ProjectID IN(@Project)) AS t4 ON t2.ProjectID = t4.ProjectID"
FilterExpression="YearMonth IN({0})">
<FilterParameters>
<asp:ControlParameter ControlID="yearMonthFilterLabel" Name="YearMonth"
PropertyName="Text" Type="String" />
</FilterParameters>
<SelectParameters>
<asp:ControlParameter ControlID="WorkerIDLabel" Name="WorkerID"
PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="projectFilterLabel" Name="Project"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
问候,我有@Project ControlParameter的问题,问题是我不知道如何传递几个值而FilterParameters方法将无法正常工作。有没有办法传递几个变量? (不使用c#)。
projectFilterLabel.Text = 'aaa, bbb, ccc';
基本上我想要做的是从Date表中选择所有值,并将它们与Project表中的一些值连接并输出到DataList。
任何帮助表示感谢,我刚开始学习asp.net
感谢。
答案 0 :(得分:0)
在您的asp表单中创建一个javascript函数来处理报表窗口的打开。在此函数中,将参数(var pPassParm)值设置为textbox.text(隐藏在父窗体上)并通过打开窗口传递此值(/reportfolder/report.asx?pPassparm)
在执行代码上,创建一段代码,将所有参数连接成一个字符串(textbox.text ='StartDate = 2012/01/01,EndDate = 2012/02/01,Surname = Jones'等)打开报告的新表格。
答案 1 :(得分:0)
我通过在事件上为SqlDataSource创建带有参数(替换旧的)的新查询来解决这个问题。