منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
في ما يخص الطباعة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة التقارير والطباعة تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=71)
+--- الموضوع : في ما يخص الطباعة (/showthread.php?tid=28703)

الصفحات: 1 2


في ما يخص الطباعة - hassan 14 - 20-02-19

السلام عليكم 
عندي دتاقريد فيو عليها شكبوكس checkbox اريد عند التشيك على سجل او اثنين او اكثر يطبع على الكرستل ريبورت مشكورين


RE: في ما يخص الطباعة - hassan 14 - 22-02-19

ياجماعة هل من مساعدة من فضلكم انا متوقف ؟؟؟؟؟؟


RE: في ما يخص الطباعة - حريف برمجة - 22-02-19

وعليكم السلام ،،

الفكرة تنقل السجلات المعمول لها تشيك في الداتاسيت المربوطة مع التقرير .


RE: في ما يخص الطباعة - hassan 14 - 23-02-19

شكراا على الرد اريد توضيح اكثر اذا امكن


RE: في ما يخص الطباعة - elgokr - 23-02-19

وعليكم السلام ورحمة الله وبركاته

كما وضح لك اخى حريف برمجة
الامر ستحتاج عمل كود For 
وبداخله التحقق من checkbox نشط
ومن ثم ارسال القيم الى داتا سيت الخاصة بالتقرير

تحياتى لك
وتمنياتى لك التوفيق



RE: في ما يخص الطباعة - حريف برمجة - 23-02-19

(23-02-19, 01:31 AM)hassan 14 كتب : شكراا على الرد اريد توضيح اكثر اذا امكن

العفو ،،

هل انت عملت التقرير وجاهز يطبع الكل ،، ولكن انت تريد تحديد سجلات بعمل تشيك وطباعة المحدد فقط ؟


RE: في ما يخص الطباعة - hassan 14 - 23-02-19

انا وضعت التقرير يطبع الكل والامور تشتغل جيد .
لكن اريد عند التشيك على التشكبوكس يطبعلي المحدد فقط
اريد التوضيح بكود مثلا


RE: في ما يخص الطباعة - elgokr - 23-02-19

كما وضحت لك سابقاً اخى الحبيب 
كل ما تحتاج له هو عمل كود For يقوم بمراجعة كل صف بالداتا جريد
للتحقق من checkbox اذا كان نشط يقوم بترحيل قيم الصف الى الداتا سيت

اذا ارفقت المشروع او وضعت الكود الذى تستخدمة ساقوم 
بدمج كود For طبقاً لما لديك من المسميات
ومكان عمود checkbox لديك فى الداتا جريد
حتى يعمل معك مباشراً دون التعديل عليه

تحياتى لك
وتمنياتى لك التوفيق



RE: في ما يخص الطباعة - hassan 14 - 23-02-19

هذا الكود المستخدم
كود :
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
       Dim dt As New DataTable
       Dim da As New OleDbDataAdapter
       dt.Clear()
       da = New OleDbDataAdapter("select * from mochtrikin ", con)
       da.Fill(dt)
               For i As Integer = 0 To DGV1.Rows.Count - 1
           If DGV1.Item(16, i).Value.ToString = True Then
               Formcrvmochtrkin.Show()
               Formcrvmochtrkin.WindowState = FormWindowState.Maximized
               Dim rpt As New CrystalReportmoch
               rpt.SetDataSource(dt)
               rpt.SetParameterValue("pic", Application.StartupPath)
               Formcrvmochtrkin.CrystalReportViewer1.ReportSource = rpt
               Formcrvmochtrkin.CrystalReportViewer1.Refresh()
           End If
               Next
   End Sub



RE: في ما يخص الطباعة - حريف برمجة - 23-02-19

(23-02-19, 09:49 PM)hassan 14 كتب : هذا الكود المستخدم
كود :
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
       Dim dt As New DataTable
       Dim da As New OleDbDataAdapter
       dt.Clear()
       da = New OleDbDataAdapter("select * from mochtrikin ", con)
       da.Fill(dt)
               For i As Integer = 0 To DGV1.Rows.Count - 1
           If DGV1.Item(16, i).Value.ToString = True Then
               Formcrvmochtrkin.Show()
               Formcrvmochtrkin.WindowState = FormWindowState.Maximized
               Dim rpt As New CrystalReportmoch
               rpt.SetDataSource(dt)
               rpt.SetParameterValue("pic", Application.StartupPath)
               Formcrvmochtrkin.CrystalReportViewer1.ReportSource = rpt
               Formcrvmochtrkin.CrystalReportViewer1.Refresh()
           End If
               Next
   End Sub

حسب كلامك البيانات معروضة في DataGridView

وتريد تحديد بعض السجلات لطباعتها ،،

التقرير مرتبط بالداتاتيبل dt

الحل يكون :

نقل السجلات المعمول لها تشيك إلى الداتاتيبل dt ،، ويكون كالتالي :


كود :
' Create DataSet As DataSetPrint
       Dim DataSetPrint As New DataSet

       ' Add Table In DataSetPrint
       DataSetPrint.Tables.Add("dt")

       ' Add Columns In Table From DGV1 Without CheckBox Column
       For dgvCol As Integer = 0 To DGV1.Columns.Count - 2
           DataSetPrint.Tables("dt").Columns.Add(DGV1.Columns(dgvCol).HeaderText)
       Next

       'Add Rows from the DGV1 to Table In DataSetPrint
       Dim row As DataRow
       Dim colcount As Integer = DGV1.Columns.Count - 1
       For i As Integer = 0 To DGV1.Rows.Count - 1

           If DGV1.Rows(i).Cells(16).Value = True Then

               row = DataSetPrint.Tables("dt").Rows.Add
               For column As Integer = 0 To DGV1.Columns.Count - 2
                   row.Item(column) = DGV1.Rows.Item(i).Cells(column).Value
               Next

           End If

       Next


'Print
Formcrvmochtrkin.Show()
               Formcrvmochtrkin.WindowState = FormWindowState.Maximized
               Dim rpt As New CrystalReportmoch
               rpt.SetDataSource(dt)
               rpt.SetParameterValue("pic", Application.StartupPath)
               Formcrvmochtrkin.CrystalReportViewer1.ReportSource = rpt
               Formcrvmochtrkin.CrystalReportViewer1.Refresh()