如何在visual studio 2010中将报表加载到报表查看器?

时间:2014-01-17 07:16:22

标签: c# .net crystal-reports report

我厌倦了尝试和尝试,但我无法完成这项工作 我的问题是我想加载我的水晶报告到报告视图。我已经制作了我的水晶报告,我有一个带有报告查看器的窗体,但是如何在我的报告查看器中显示报告  我正在尝试的是

private void frmRptViewer_Load(object sender, EventArgs e)
{
        try
        {
            string SqlConnentionString = System.IO.File.ReadAllText("Connect.txt");


            SqlConnection con = new SqlConnection(SqlConnentionString);
            con.Open();
            SqlCommand com = new SqlCommand("SELECT EmployeeInfo.EmployeeCode, EmployeeInfo.DOJ,EmployeeInfo.GrossSalary,ea.Balance, EmployeeAdvance.MonthlyInst FROM  EmployeeInfo Left Outer JOIN EmployeeAdvance ON EmployeeInfo.EmployeeID = EmployeeAdvance.EmployeeID Left Outer Join (select employeeid,sum(dr)-sum(cr) as Balance from Deduction_Ledger where Deduction_type_ID = 1 Group By EmployeeiD ) ea on EmployeeInfo.employeeid = ea.employeeid where EmployeeInfo.dor is null", con);
            com.CommandType = CommandType.Text;
            SqlDataAdapter sdt = new SqlDataAdapter(com);
            DataTable ds = new DataTable();
            sdt.Fill(ds);
            EmpReport er = new EmpReport();
            er.SetDataSource(ds);
            reportViewer.ReportSource = er;
            reportViewer.Refresh();
            con.Close();
        }
        catch (Exception ex)
        {
            throw new ApplicationException(ex.Message);
        }
    }


}

请有人帮助我  提前谢谢

1 个答案:

答案 0 :(得分:0)

我不是用C#

但我注意到你的SQL语句从三个表EmployeeInfo,ea和EmployeeAdvance中选择

在这种情况下

你需要传递DATASET包含三个表到你的报告,而不是DATATABLE

请参阅my answer here,它可能会对您有所帮助