تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف من الممكن طباعة كل سجل في صفحة مستقلة ( Report Viewer )
#1
السلام عليكم جميعاً 



لدي هذا الكود الذي يجلب لي السجلات ( عبارة عن شهادات ) من قاعدة البيانات وأرغب يكون كل شهادة في صفحة مستقلة بضغطة زر واحدة وبنفس النافذة 



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





أود منكم المساعدة في ذلك ولكم جزيل الشكر





كود :
 If cn.State = ConnectionState.Open Then cn.Close()
       cn.Open()
       Dim ds As New DataSet
       Dim SQL As String = "SELECT * FROM sh_info where t6 LIKE'" & (serch.Text) & "'"
       Dim DA As New SqlDataAdapter(SQL, cn)
       DA.Fill(ds, "12")
       If ds.Tables("12").Rows.Count > 0 Then
           all_sh.sh_infoBindingSource.DataSource = ds.Tables("12")

         
 For i = 0 To ds.Tables("12").Rows.Count - 1

               all_sh.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
               all_sh.ReportViewer1.ZoomMode = ZoomMode.PageWidth
               all_sh.ReportViewer1.RefreshReport()

           Next

           cn.Close()



           all_sh.Show()
       End If
     
الرد }}}
تم الشكر بواسطة:
#2
الاستعلام من الجدول sh_info لكن انت تقرأ من الجدول "12" حسب الكود ds.Tables("12")

لم تذكر نوع t6؟

لم اعرف سبب وجود For في الكود

الكود انا جربته في مشروع مؤقت بعد تعديله على اساس ان t2 هو نص وما فيه مشكلة

كود :
       Dim dt As New DataTable
       Dim SQL As String = "SELECT * FROM sh_info where t6 LIKE'" & (serch.Text) & "'"
       Dim DA As New SqlDataAdapter(SQL, cn)
       DA.Fill(dt)
       If dt.Rows.Count > 0 Then
           all_sh.sh_infoBindingSource.DataSource = dt
         
               all_sh.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
               all_sh.ReportViewer1.ZoomMode = ZoomMode.PageWidth
               all_sh.ReportViewer1.RefreshReport()

           all_sh.Show()
       End If
     
 






أشكرك أخي Zajel  على استجابتك







بالنسبة لاستفسارك الاستعلام من الجدول sh_info لكن انت تقرأ من الجدول "12" حسب الكود ds.Tables("12") 

بما أنه يتم تعبئة محتويات الاستعلام في ds.Tables("12") يكون هو نفس ناتج الاستعلام ولا مشكلة في ذلك ويقوم الكود باحضار كافة السجلات المطلوبة.. 



ولكن المشكلة تكمن في التقرير حيث يظهر لي عدد الصفحات بعدد السجلات ويكرر السجل الأول من الاستعلام في جميع صفحات التقرير



فكيف يمكن طباعة كافة السجلات ويكون بيانات كل صف القادم من الاستعلام في صفحة مستقلة !!
الرد }}}
تم الشكر بواسطة: Zajel
#3
صحيح تم تجربة الكود باستخدام data table وكما أشرت بمشاركتك لكن النتيجة واحدة

عدد صفحات التقرير بعدد السجلات القادمة من جملة الاستعلام ولكن المشكلة تكرار السجل الأول في جميع الصفحات
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم