Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在为报表查看器ASP.NET C更新数据源中的参数#_C#_Asp.net_Sql Server_Stored Procedures_Reporting Services - Fatal编程技术网

C# 正在为报表查看器ASP.NET C更新数据源中的参数#

C# 正在为报表查看器ASP.NET C更新数据源中的参数#,c#,asp.net,sql-server,stored-procedures,reporting-services,C#,Asp.net,Sql Server,Stored Procedures,Reporting Services,我有以下控件:数据源、报表查看器和两个Telerik RadDateTimePicker。 我的Rad控件的屏幕截图 我的报告是一个客户端报告定义(.rdlc)。我在SQL 2008数据库中有一个存储过程,用于报告和数据源 我已经通过GUI IDE,而不是代码,使用Rad控件的参数源配置了存储过程。屏幕截图: 以下是数据源的ASP代码: <asp:SqlDataSource ID="DataSourceViewWeeklySummary" runat="server" Con

我有以下控件:数据源、报表查看器和两个Telerik RadDateTimePicker。 我的Rad控件的屏幕截图

我的报告是一个客户端报告定义(.rdlc)。我在SQL 2008数据库中有一个存储过程,用于报告和数据源

我已经通过GUI IDE,而不是代码,使用Rad控件的参数源配置了存储过程。屏幕截图:

以下是数据源的ASP代码:

<asp:SqlDataSource ID="DataSourceViewWeeklySummary" runat="server" 
    ConnectionString="<%$ ConnectionStrings:SERVER %>" 
    SelectCommand="ProcedureWeeklySummary" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter ControlID="DTimePickerStartDate" Name="startDate" 
            PropertyName="SelectedDate" Type="DateTime" />
        <asp:ControlParameter ControlID="DTimePickerEndDate" DefaultValue="" 
            Name="endDate" PropertyName="SelectedDate" Type="DateTime" />
    </SelectParameters>
</asp:SqlDataSource>


我希望在代码中使用两个日期和时间选择器来更新数据源的参数。然后刷新报表查看器以更新报表。有没有人能给我指出正确的方向,这样我就可以用尽可能少的代码来实现这一点?提前感谢您的帮助。如果我可以列出更多信息,请让我也知道。

在DTP控件的
SelectedDateChanged
事件中,您需要执行以下操作:
StartDateVariable=e.NewDate

然后在报告的
ReportRefresh
事件中,您需要更新如下参数:
DataSource.SelectParameters[0]。DefaultValue=StartDateVariable

确保在离开
ReportRefresh
事件之前调用
DataBind()
(除非您在其他地方处理该事件)

此外,您可能需要执行一些类型转换/转换。如果我没有弄错,
DefaultValue
属性是字符串,那么您需要将变量转换为字符串,或者将新日期转换为字符串

下面是一个“完整”的例子


在DTP控件的
SelectedDateChanged
事件中,您需要执行以下操作:
StartDateVariable=e.NewDate

然后在报告的
ReportRefresh
事件中,您需要更新如下参数:
DataSource.SelectParameters[0]。DefaultValue=StartDateVariable;

确保在离开
ReportRefresh
事件之前调用
DataBind()
(除非您在其他地方处理该事件)

此外,您可能需要执行一些类型转换/转换。如果我没有弄错,
DefaultValue
属性是字符串,那么您需要将变量转换为字符串,或者将新日期转换为字符串

下面是一个“完整”的例子


DTimePickerEndDate.SelectedDate=新日期(2013,08,28)DTimePickerEndDate.SelectedDate=新日期(2013,08,28)
        protected void DTimePickerStartDate_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
    {
        StartDate = Convert.ToString(e.NewDate);
    }

    protected void DTimePickerEndDate_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
    {
        EndDate = Convert.ToString(e.NewDate);
    }

    protected void ReportViewer1_ReportRefresh(object sender, System.ComponentModel.CancelEventArgs e)
    {
        DataSourceViewWeeklySummary.SelectParameters[0].DefaultValue = StartDate;
        DataSourceViewWeeklySummary.SelectParameters[1].DefaultValue = EndDate;

        DataSourceViewWeeklySummary.DataBind();
    }