C# 按钮事件处理程序未在报表查看器的加载事件中触发

C# button event handler not firing in load event in report-viewer

提问人:J.szareyo 提问时间:2/28/2023 更新时间:2/28/2023 访问量:56

问:

我在用户控件中有一个按钮,在报表查看器形式中有一个按钮来加载 rdlc。每当我从用户控件中单击打印按钮并且验证通过时,当要加载的数据仅较少行时,报表查看器中的单击事件处理程序确实起作用,但是当要加载的数据超过 1 页时,单击事件处理程序无法在加载事件处理程序中正确触发, 除非我手动单击该按钮,否则在报表查看器中只导致空白页。

我的代码: (在用户控制中)

private void btn_print_Click(object sender, EventArgs e)
        {
            pharm_printprev frm1 = new pharm_printprev(this);
            frm1.Show();
        }

        public DateTime DTPicker
        {

            get { return _FromTime.Value; }
            set { _FromTime.Value = value; }

        }
        public DateTime DTPicker1
        {
            get { return _ToTime.Value; }
            set { _ToTime.Value = value; }

        }

我的代码:(Reportviewer 表单)

    private PHARM_OPDSALES _PHARM_OPDSALES = null;
            public pharm_printprev(UserControl callingForm)
            {
                _PHARM_OPDSALES = callingForm as PHARM_OPDSALES;
                InitializeComponent();
            }
    
            private void pharm_printprev_Load(object sender, EventArgs e)
            {
               
                lbl_print_refrsh_Click(sender, e);

            }
private void lbl_print_refrsh_Click(object sender, EventArgs e)
        {

            string df1 = dm_dtepckr.Value.ToString("yyyy-MM-dd HH:mm:ss tt");
            string dt1 = dm_dtepckr2.Value.ToString("yyyy-MM-dd HH:mm:ss tt");

            this.dMDatableTableAdapter.Fill(this.DSdispense_sum.DMDatable,  dm_dtepckr.Value = this._PHARM_OPDSALES.DTPicker, dm_dtepckr2.Value = this._PHARM_OPDSALES.DTPicker1);

            ReportParameter[] Rparam = new ReportParameter[]
            {
              
              //new ReportParameter("Param1", dm_dtepckr.Value.Date.ToLongDateString()),
              //new ReportParameter("Param2", dm_dtepckr2.Value.Date.ToLongDateString()),
              
              new ReportParameter("Param1", df1),
              new ReportParameter("Param2", dt1),

            };
            rptdsch1.LocalReport.SetParameters(Rparam);
            rptdsch1.RefreshReport();

验证过程中可能存在什么问题,为什么它只接受较少的行来触发 reportviewer 窗体中的按钮事件处理程序?

WinForms 事件处理程序 Report-Viewer2010 动态 RDLC 生成

评论


答: 暂无答案