منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[ تمّ الحل ] : الطباعة من خلال الريبورت فيور - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [ تمّ الحل ] : الطباعة من خلال الريبورت فيور (/showthread.php?tid=37201)



[ تمّ الحل ] : الطباعة من خلال الريبورت فيور - عبد العزيز البسكري - 16-12-20

السّلام عليكم و رحمة الله و بركاته
سادتي الأفاضل
أرجو المساعدة و املي بكم كبير لحل هاته الإشكالية التي أرهقتني
قد تكون ربّما هذه المرّة الثانية بحياتي التي جرّبت بها الطباعة من خلال الريبورت فيور
تتبّعت تماما مثلما طرحه الشارح على اليوتوب
قمت بإضافة الداتا سيت
Dataset1
أسندت لها
DataTable1
ثم أعمدة حسب ما هو موجود بجدول قاعدة البيانات
أضفت ما أضفت على صفحة التقرير
إستعملت هذا الكود للطباعة و طبعا الكود هو ذاته المستعمل أثناء الشرح
لكن للأسف عند الضغط على زر الامر تظهر لي هاته الرّسالة
بحثت هنا و هناك
Copy If Never
وضعت رابط التقرير تماما بالحرف الواحد داخل الكود بعد وضع التقرير بمجلد خاص
عملت إيقاف للبارامترات بشكوكي قد تكون هي السبب
لكن لا حياة لمن تنادي
بارك الله فيكم و لكم مقدما و جزاكم خير الجزاء
كود :
 Sub Load_Billing_Report(ByVal Sql As String)
       Dim RptDs As ReportDataSource
       Me.ReportViewer1.RefreshReport()
       Try
           With ReportViewer1.LocalReport
               .ReportPath = Application.StartupPath & "\FolderReport\Report1.rdlc"
               .DataSources.Clear()
           End With
           Dim Ds As New DataSet1
           Dim Da As New SqlDataAdapter
           Cn.Open()
           Da.SelectCommand = New SqlCommand("SELECT * From TBL_INVOICES_POS_DETAILS Where InvoiceNo Like '" & Me.TxtInvoiceNo.Text & "'", Cn)
           Da.Fill(Ds.Tables("DataTable1"))
           Cn.Close()
           With Frm_Billing
               Dim PBillTo As New ReportParameter("PBillTo", .TxtBill.Text)
               Dim PAdresse As New ReportParameter("PAdresse", .TxtAdresse.Text)
       
               ReportViewer1.LocalReport.SetParameters(PBillTo)
               ReportViewer1.LocalReport.SetParameters(PAdresse)
 
           End With
           RptDs = New ReportDataSource("Dataset1", Ds.Tables("DataTable1"))
           ReportViewer1.LocalReport.DataSources.Add(RptDs)
           ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
           ReportViewer1.ZoomMode = ZoomMode.Percent
           ReportViewer1.ZoomPercent = 100
           'ReportViewer1.ZoomMode = ZoomMode.PageWidth
           'Catch ex As Exception
           'Cn.Close()
           'MsgBox(ex.Message, vbInformation)
           'End Try

       Catch e As System.Exception
           Dim inner As Exception = e.InnerException
           While Not (inner Is Nothing)
               MsgBox(inner.Message)
               inner = inner.InnerException
           End While
       End Try
   End Sub





RE: الطباعة من خلال الريبورت فيور - ateeq - 16-12-20

الخطأ في الاسم Dataset1 والصحيح DataSet1 بحرف S كبير حسب الصورة الأولى 

عادة يتم وضع Me.ReportViewer1.RefreshReport في نهاية كود التقرير،
وحسب الكود يكون قبل Catch

التأكد من وجود بيانات في TxtBill.Text وTxtAdresse.Text إلا إذا حددت
الخاصية ("")Allow blank value لكليهما ليتم قبولهما إن كانا فارغين


RE: الطباعة من خلال الريبورت فيور - عبد العزيز البسكري - 16-12-20

السّلام عليكم و رحمة الله و بركاته
لن أنسَ هذا ما حييت
أنّ اسم الداتاسيت يجب أن يكتب بالميليمتر تماما مثلما هو موجود
صدّقني لم أعرف كيف أشكرك
و بصراحة .. طيلة أيّام و أنا أكتبها بهذا الشكل بحرف صغير و لم تضبط معي لغاية الإحساس بالغثيان البرمجي
فعلا الخطأ كان بالحرف s ..
و فقط قمت باستبداله ب S حسب ما هو موجود
و ظهر التقرير على أحسن حال
الفضل لله ثم لك أخي الكريم
نوّرتني و نوّرت معلوماتي .. إلهي ينوّر طريقك و حياتك ليوم الدين
بارك الله فيك و لك و جزاك الله خير الجزاء و أحسن إليك مثلما أحسنت إلي بهذا المعروف و نزعت عنّي غمّة كبيرة و أرحتني إلهي يريح بالك و خاطرك
تحياتي واحتراماتي و تقييماتي