منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اريد كود لطباعة Report viewer تلقائيا مجرد م اقوم بفتح النافذه يتم وضع الكود بال Load
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
في احد يساعدنا بألية كود الطباعة تلقائيا من ال Report Viwer عجزت احصل كود
(29-03-20, 02:46 AM)mohamedgadain61 كتب : [ -> ]في احد يساعدنا بألية كود الطباعة تلقائيا من ال Report Viwer عجزت احصل كود

مرحبا اخي ،،

1 - اتبع ونفذ الموجود في الصور ،، ملف الطباعة التلقائية موجود في المرفقات :

[attachment=24265]

2 - احذف الفورم 2 .

3 - كود بوتن الطباعة الموجود في الفورم 1 كالتالي :

كود :
Imports Microsoft.Reporting.WinForms

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim myRPTForm As New ReportViewer
       Dim report As LocalReport = New LocalReport()
       Dim myPRT As New Reporting
       '''''''''''''''''''''''''''''''''''''''''''''

       report.ReportPath = Application.StartupPath & "\Report1.rdlc"
       '''''''''''''''''''''''''''''''''''''''''''''

       'امر الطباعة المباشرة بدون عرض التقرير
       myPRT.Export(report)
       myPRT.m_currentPageIndex = 0
       myPRT.Print()
   End Sub
End Class

وبالتوفيق للجميع .
السلام عليكم و رحمة الله و بركاته
أنصحك أخي الكريم و بشدّة 
متابعة هذا الموضوع المميّز للتعامل مع الريبورت فيور
http://vb4arb.com/vb/showthread.php?tid=28016
تحياتي
(29-03-20, 07:27 PM)حريف برمجة كتب : [ -> ]
(29-03-20, 02:46 AM)رحم الله والديك وجعله بميزان حسناتك ان شاء الله....كل الشكر  mohamedgadain61 كتب : [ -> ]في احد يساعدنا بألية كود الطباعة تلقائيا من ال Report Viwer عجزت احصل كود

مرحبا اخي ،،

1 - اتبع ونفذ الموجود في الصور ،، ملف الطباعة التلقائية موجود في المرفقات :



2 - احذف الفورم 2 .

3 - كود بوتن الطباعة الموجود في الفورم 1 كالتالي :

كود :
Imports Microsoft.Reporting.WinForms

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim myRPTForm As New ReportViewer
       Dim report As LocalReport = New LocalReport()
       Dim myPRT As New Reporting
       '''''''''''''''''''''''''''''''''''''''''''''

       report.ReportPath = Application.StartupPath & "\Report1.rdlc"
       '''''''''''''''''''''''''''''''''''''''''''''

       'امر الطباعة المباشرة بدون عرض التقرير
       myPRT.Export(report)
       myPRT.m_currentPageIndex = 0
       myPRT.Print()
   End Sub
End Class

وبالتوفيق للجميع .

(29-03-20, 11:48 PM)عبد العزيز البسكري كتب : [ -> ]
السلام عليكم و رحمة الله و بركاته
أنصحك أخي الكريم و بشدّة 
متابعة هذا الموضوع المميّز للتعامل مع الريبورت فيور
تحياتي

ابشر ي غالي كل الشكر ي عزيزي رحم الله والديك

ابشر ان شاء الله كل الشكر والتقدير لكم جميعا

ابشر ان شاء الله كل الشكر جميعا
مرحبا اخواني عندما قمت بأضافة DataSet للمشروع يعطيني خطأ عندما اقوم بتنفيذ الكود

علما بأني قمت بالأضافة اللازمة والتعديل على الكود

مرفق صورة الخطأ والمشروع


  Dim myReport As New MyLocalReport
        myReport.ReportName = "Report4.rdlc"
        myReport.DataSources = New ReportDataSource("testDataSet", CType(testDataSet.table1, DataTable))

        myReport.Print()
السلام عليكم و رحمة الله و بركاته
اولاً يتوجب عليك ان يكون ملف التقرير  ضمن ملفات البرنامج .
اذهب الى خصائص التقرير و اجعل الخاصية Copy To OutPut Directory=Copy Always .
سنكون بحاجة لمسار التقرير لتخزينه في اعدادات البرنامج.
بعدها انتبه الى اسم DataSet الخاص بالتقرير لاننا سنحتاجه (سنمرره الى الكلاس الخاص بالطباعة Demo).
اول مرة سيقلع بها البرنامج سيطلب منك مسار التقرير (حدده من مجلد البرنامج Report4) بعدها تجري الامور بشكل طبيعي.

المثال مرفق طباعة مباشرة .
VS 2015 + فاعدة البيانات من النوع MDB.
(02-04-20, 08:23 AM)mohamedgadain61 كتب : [ -> ]مرحبا اخواني عندما قمت بأضافة DataSet للمشروع يعطيني خطأ عندما اقوم بتنفيذ الكود

علما بأني قمت بالأضافة اللازمة والتعديل على الكود

مرفق صورة الخطأ والمشروع


  Dim myReport As New MyLocalReport
        myReport.ReportName = "Report4.rdlc"
        myReport.DataSources = New ReportDataSource("testDataSet", CType(testDataSet.table1, DataTable))

        myReport.Print()

اولاً ملف Reporting لا يجب التعديل عليه ممكن تغيير اسمه ولكن محتواه يبقى ثابت .

ثانياً : انته اضفت للتقرير داتا سيت بأسم DataSet1 وفي الكود لم تقم بتعبئتها بالبيانات لعرضها في التقرير حسب الموضح ادناه :

        myReport.DataSources = New ReportDataSource("testDataSet", CType(testDataSet.table1, DataTable))

والصحيح يكون كالتالي :

        report.DataSources.Add(New ReportDataSource("DataSet1", testDataSet.Tables("table1")))

على العموم إليك الكود كامل مع ادراج ملف ريبورتينق Reporting إلى المشروع وحذف السابق .

كود :
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.table1TableAdapter.Fill(Me.testDataSet.table1)
       Me.ReportViewer2.RefreshReport()


       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
       Dim myRPTForm As New ReportViewer
       Dim report As LocalReport = New LocalReport()
       Dim myPRT As New Reporting
       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

       'مسار التقرير وادراج البيانات لمصدر التقرير
       report.ReportPath = Application.StartupPath & "\Report4.rdlc"
        report.DataSources.Add(New ReportDataSource("DataSet1", testDataSet.Tables("table1")))

       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

       'امر الطباعة المباشرة بدون عرض التقرير
       myPRT.Export(report)
       myPRT.m_currentPageIndex = 0
       myPRT.Print()

   End Sub
(02-04-20, 10:14 PM)حريف برمجة نعم مظبوط أشتغل معي الكود الله يجزاك خير والشكر لأخي ابوليى والجميععند المحاولة باضافة عدد 2 Parameter ليس لها علاقة بال DATASET  داخل ريبورت فيور قمت بالتعديل داخل ال الكود بهذا الشكل ولاكن طلعت لي مشكلة بالبرنامجاسم البرميتر الأول : phoneاسم البرميتر الثاني : ADDSER report.SetParameters(New Microsoft.Reporting.WinForms.ReportParameter("phone", "phone")) report.SetParameters(New Microsoft.Reporting.WinForms.ReportParameter("ADDSER", "ADDSER"))هل في اضافات اخرى المفروض اني اضيفها على محتوى الكود كتب : [ -> ]
(02-04-20, 08:23 AM)mohamedgadain61 كتب : [ -> ]مرحبا اخواني عندما قمت بأضافة DataSet للمشروع يعطيني خطأ عندما اقوم بتنفيذ الكود

علما بأني قمت بالأضافة اللازمة والتعديل على الكود

مرفق صورة الخطأ والمشروع


  Dim myReport As New MyLocalReport
        myReport.ReportName = "Report4.rdlc"
        myReport.DataSources = New ReportDataSource("testDataSet", CType(testDataSet.table1, DataTable))

        myReport.Print()

اولاً ملف Reporting لا يجب التعديل عليه ممكن تغيير اسمه ولكن محتواه يبقى ثابت .

ثانياً : انته اضفت للتقرير داتا سيت بأسم DataSet1 وفي الكود لم تقم بتعبئتها بالبيانات لعرضها في التقرير حسب الموضح ادناه :

        myReport.DataSources = New ReportDataSource("testDataSet", CType(testDataSet.table1, DataTable))

والصحيح يكون كالتالي :

        report.DataSources.Add(New ReportDataSource("DataSet1", testDataSet.Tables("table1")))

على العموم إليك الكود كامل مع ادراج ملف ريبورتينق Reporting إلى المشروع وحذف السابق .

كود :
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.table1TableAdapter.Fill(Me.testDataSet.table1)
       Me.ReportViewer2.RefreshReport()


       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
       Dim myRPTForm As New ReportViewer
       Dim report As LocalReport = New LocalReport()
       Dim myPRT As New Reporting
       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

       'مسار التقرير وادراج البيانات لمصدر التقرير
       report.ReportPath = Application.StartupPath & "\Report4.rdlc"
        report.DataSources.Add(New ReportDataSource("DataSet1", testDataSet.Tables("table1")))

       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

       'امر الطباعة المباشرة بدون عرض التقرير
       myPRT.Export(report)
       myPRT.m_currentPageIndex = 0
       myPRT.Print()

   End Sub
الباراميتر تسند لها قيمه من اين ؟ وانت تريد الطباعة مباشرة .

هل تقصد قيمه ثابته مثلاً :
رقم هاتف المحل او عنوان المركز أو تاريخ ووقت الطباعة .

اوضح طلبك كامل لتجد إجابة سريعة .
نعمه القيمة راح تكون موجودة بالفورم رقم واحد موجودة داخل Label

عندم يفتح فورم 2 الخاص بالطباعة راح يقوم بتعئبة الليبل من الموجودة بالفورم 1

الكود جاهز عندي بهذا الشكل

هذا مجرد مثال للمطلوب

Dim pm(2) As ReportParameter
pm(0) = New ReportParameter("ADDSER", Label1.Text)
pm(1) = New ReportParameter("phone", Label2.Text)
الصفحات : 1 2 3 4