Visual Studio 2010を使用しています。以前はCrystalReportingに取り組んでいましたが、レポートビューアを使用してレポートを生成したいと思います。私はこのトピックに不慣れなので、私を導いてください。ありがとう!!!
私のコードは、ビジネスクラスオブジェクトのレポートを作成するために機能します...
ビジネスクラスオブジェクトとReportViewer(ASP.NET/ C#)を使用したレポートの作成1.学生クラスの作成
public class StudentClass
{
public int No { get; set; }
public string Name { get; set; }
public string Degree { get; set; }
}
2.GetStudents()関数を使用して学生リポジトリを作成します
public class StudentRepository : StudentClass
{
public List<StudentClass> studentList = new List<StudentClass>();
public List<StudentClass> GetStudents()
{
StudentClass student1 = new StudentClass();
student1.No = 1;
student1.Name = "Bhuvana";
student1.Degree = "M.Tech";
studentList.Add(student1);
StudentClass student2 = new StudentClass();
student2.No = 2;
student2.Name = "Annie";
student2.Degree = "B.Tech";
studentList.Add(student2);
StudentClass student3 = new StudentClass();
student3.No = 3;
student3.Name = "Muthu Abi";
student3.Degree = "B.Tech";
studentList.Add(student3);
return studentList;
}
}
3.レポートの使用Wizard“ StudentReport.rdlc”を作成し、データソースを選択します
4. Index.aspxで、ToolBox(ドラッグアンドドロップ)からスクリプトマネージャーとレポートビューアーを追加します
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
</rsweb:ReportViewer>
</div>
5.コードビハインドファイルのPage_Load()メソッドを変更します
public partial class Index : System.Web.UI.Page
{
StudentRepository sr = new StudentRepository();
List<StudentClass> sc = new List<StudentClass>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report/Student.rdlc");
sc = sr.GetStudents();
IEnumerable<StudentClass> ie;
ie = sc.AsQueryable();
ReportDataSource datasource = new ReportDataSource("DataSet1", ie);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
}
}
}
6.ビルドして実行