我新建了一张报表,Reportstock.rdlc,将其中的一个文本的导航设置成 跳至报表Report/ReportStockDetail.rdlc
但是在钻取报表时,跟踪程序发现点击报表中的链接时,程序根本不进入ReportViewer1_Drillthrough()执行,不知道为什么,请教大家.
下面是主要代码:
main.aspx:<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
            Height="400px" Width="760px" OnDrillthrough="ReportViewer1_Drillthrough">
            <LocalReport ReportPath="F:\OnlineReport\Report\Reportstock.rdlc">
                <DataSources>
                    <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSetStock_进货单基本信息" />
                </DataSources>
            </LocalReport>
        </rsweb:ReportViewer>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" TypeName="ClassStock">
        </asp:ObjectDataSource>
main.aspx.cs:protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["UserInfoString"].ToString() == null)
        {
            Response.Redirect("Default.aspx");
        }
        if (!IsPostBack)
        {
            this.BeginDate.SelectedDate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01");
            this.EndDate.SelectedDate = this.BeginDate.SelectedDate.AddMonths(1).AddDays(-1);
            this.ObjectDataSource1.SelectMethod = "GetNullDS";
        }
        SetReportParameter();
    }
    protected void SetReportParameter()
    {
        string StaffName = Session["Staff"].ToString();
        string UserName = Session["UserName"].ToString();
        CompanyName = ClassLocalDB.SelectData("系统参数信息", "用户编号", UserName, "参数名称", "票据字号", "参数值");         ReportParameter[] p = new ReportParameter[4];        p[0] = new ReportParameter("编制单位", CompanyName);        p[1] = new ReportParameter("操作员", StaffName);        string tempStr = "起始日期:" + this.BeginDate.SelectedDate.Year.ToString() + "-" + this.BeginDate.SelectedDate.Month.ToString() +
                          "-" + this.BeginDate.SelectedDate.Day.ToString() + " 终止日期:" + this.EndDate.SelectedDate.Year.ToString() +
                          "-" + this.EndDate.SelectedDate.Month.ToString() + "-" + this.EndDate.SelectedDate.Day.ToString();
        p[2] = new ReportParameter("日期段", tempStr);        p[3] = new ReportParameter("打印日期", System.DateTime.Today.Year.ToString() + "-" + System.DateTime.Today.Month.ToString() + "-" + System.DateTime.Today.Day.ToString());
        this.ReportViewer1.LocalReport.SetParameters(p);
 
    }
 //向ObjectDataSource中添加四个Parameter
    private void AddSelectParameters()
    {
        //清空所有Parameter
        this.ObjectDataSource1.SelectParameters.Clear();        //加载四个Parameter
        SessionParameter UserInfoString = new SessionParameter("UserInfoString", "UserInfoString");
        this.ObjectDataSource1.SelectParameters.Add(UserInfoString);        ControlParameter BeginDate = new ControlParameter();
        BeginDate.Name = "BeginDate";
        BeginDate.Type = TypeCode.DateTime;
        BeginDate.ControlID = "BeginDate";
        BeginDate.PropertyName = "SelectedDate";
        this.ObjectDataSource1.SelectParameters.Add(BeginDate);        ControlParameter EndDate = new ControlParameter();
        EndDate.Name = "EndDate";
        EndDate.Type = TypeCode.DateTime;
        EndDate.ControlID = "EndDate";
        EndDate.PropertyName = "SelectedDate";
        this.ObjectDataSource1.SelectParameters.Add(EndDate);        Parameter ErrorMessage = new Parameter();
        ErrorMessage.Name = "ErrorMessage";
        ErrorMessage.DefaultValue = "";
        this.ObjectDataSource1.SelectParameters.Add(ErrorMessage);
        //加载Parameter结束
    }
    protected void ButtonRefresh_Click(object sender, EventArgs e)
    {        grade = 0;
        //指定SelectMethod
        this.ObjectDataSource1.SelectMethod = "GetStockInfo";
        AddSelectParameters();
        SetReportParameter();
        this.ReportViewer1.LocalReport.Refresh();
    }