الخميس، 29 يناير 2015

12 ربط تقرير Report Viewer بالبيانات بكود VB.net (دورة تصميم التقارير في VB.net)

12 ربط تقرير Report Viewer بالبيانات بكود VB.net (دورة تصميم التقارير في VB.net)


الكود النهائي المستخدم في الدرس
VB.net

        'جمل الاتصال بقاعدة البيانات

        Dim SQL As String = "SELECT TOP (100) Sales.SalesOrderDetail.SalesOrderID, Sales.SalesOrderDetail.SalesOrderDetailID, Sales.SalesOrderHeader.OrderDate, Sales.SalesOrderDetail.ProductID, Production.Product.Name, Sales.SalesOrderDetail.OrderQty, Sales.SalesOrderDetail.UnitPrice, Sales.SalesOrderDetail.LineTotal FROM Sales.SalesOrderDetail INNER JOIN Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID INNER JOIN Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID"
        Dim Conn As New SqlConnection("Data Source=.; INITIAL CATALOG=AdventureWorks2012; INTEGRATED SECURITY =TRUE")
        Dim ds As New DataSet
        Dim da As New SqlDataAdapter(SQL, Conn)
        da.Fill(ds, 0)

        ' جملة ملء Reportviewer1 بالبيانات

        OrdersBindingSource.DataSource = ds.Tables(0)
        Me.ReportViewer1.RefreshReport()

        ' جملة ملء Reportviewer2 بالبيانات

        Dim rd As New ReportDataSource("DataSet1", ds.Tables(0))
        ReportViewer2.LocalReport.DataSources.Clear()
        ReportViewer2.LocalReport.DataSources.Add(rd)
        ReportViewer2.LocalReport.ReportEmbeddedResource = "SQL_In_Report_demo.Report1.rdlc"
        Me.ReportViewer2.RefreshReport()


C#

جمل الاتصال بقاعدة البيانات


string SQL = "SELECT TOP (100) Sales.SalesOrderDetail.SalesOrderID, Sales.SalesOrderDetail.SalesOrderDetailID," +
            "Sales.SalesOrderHeader.OrderDate, Sales.SalesOrderDetail.ProductID, Production.Product.Name, " +
            "Sales.SalesOrderDetail.OrderQty, Sales.SalesOrderDetail.UnitPrice, Sales.SalesOrderDetail.LineTotal " +
            "FROM Sales.SalesOrderDetail INNER JOIN Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID " +
            "= Sales.SalesOrderHeader.SalesOrderID INNER JOIN Production.Product ON " +
            "Sales.SalesOrderDetail.ProductID = Production.Product.ProductID";

            SqlConnection Conn = new SqlConnection("Data Source=.; INITIAL CATALOG=AdventureWorks2012; INTEGRATED SECURITY =TRUE");
            DataSet ds  = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(SQL, Conn);
            ds = new DataSet();
           da.Fill(ds, "Sales.SalesOrderDetail");

جملة ملء Reportviewer1 بالبيانات
           
            OrdersBindingSource.DataSource = ds.Tables[0];
          this.reportViewer1.RefreshReport();


جملة ملء Reportviewer2 بالبيانات

            ReportDataSource rd = new ReportDataSource("DataSet1", ds.Tables[0]);
            reportViewer2.LocalReport.DataSources.Clear();
            reportViewer2.LocalReport.DataSources.Add(rd);
            reportViewer2.LocalReport.ReportEmbeddedResource = "SQL_In_Report_C_Sharp.Report1.rdlc";
            this.reportViewer2.RefreshReport();