asp.net中的rdlc报告问题

时间:2011-07-29 12:25:34

标签: c# sql-server reportviewer

 private void btnGenerate_Click(object sender, EventArgs e)
        {
            try
            {
                if (Convert.ToDateTime(dateTimeTo.Text).Date >= Convert.ToDateTime(dateTimeFrom.Text).Date)
                {
                    DateTime today = DateTime.Today.Date;
                    reportViewer1.RefreshReport();
                    reportViewer1.LocalReport.Refresh();
                    DataTable dtnew = new DataTable();
                    string EmpId = null;

                    if (ddlEmployee.SelectedIndex > 0)
                    {
                        EmpId = ddlEmployee.SelectedValue.ToString();
                    }

                    reportViewer1.LocalReport.DataSources.Clear();
                    dtnew = new dbInOutTimeDatasetTableAdapters.InOutTableAdapter().GetData(Convert.ToDateTime(dateTimeTo.Text), Convert.ToDateTime(dateTimeFrom.Text),new Guid(EmpId));
                    //   dtnew = new dsReportTableAdapters.ReportTableAdapter().GetData(Convert.ToDateTime(dateTimeFrom.Text), Convert.ToDateTime(dateTimeTo.Text), EmpId, DeptId);

                    reportViewer1.Visible = true;
                    ReportDataSource rptds = new ReportDataSource("dbInOutTimeDataset_ReportInOut", dtnew);
                    reportViewer1.LocalReport.DataSources.Add(rptds);
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                    reportViewer1.Visible = true;
                }
                else
                {
                    MessageBox.Show("To date must be greater or equal to From date.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }
            catch (InvalidOperationException exI)
            {
                MessageBox.Show("There is no any Employee Absent.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unhandled Error:" + ex.Message);
            }
        }

问题:无法在Reportviewer中绑定报表。我在“dtnew”中获得了记录,但是cnt在我的应用程序中看到了该报告

报告中出现错误“尚未为数据源提供数据源实例'dsInOutReport_InOut'”

1 个答案:

答案 0 :(得分:-1)

添加:

reportViewer1.LocalReport.DataSources.clear();

之前:

reportViewer1.LocalReport.DataSources.Add(rptds);

这将有效。