تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة طباعه بيانات من DataGridview
#1
لسلام عليكم ورحمه الله وبركاته



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




وهذا هو الكود 


المهم اولا ضيف في الفورم اداة PrintPreviewDialog1 و اداة PrintDocument1


ثم الكود هذا في زر الطباعة
كود :
PrintPreviewDialog1.Document = PrintDocument1

PrintPreviewDialog1.ShowDialog()


والكود هنا PrintDocument1
كود :
Dim mRow As Integer = 0
      Dim newpage As Boolean = True
      With DataGridView1
          Dim fmt As StringFormat = New StringFormat(StringFormatFlags.LineLimit)
          fmt.LineAlignment = StringAlignment.Center
          fmt.Trimming = StringTrimming.EllipsisCharacter
          Dim y As Single = 230
          Do While mRow < .RowCount
              Dim row As DataGridViewRow = .Rows(mRow)
              Dim x As Single = 50
              Dim h As Single = 0
              For Each cell As DataGridViewCell In row.Cells
                  Dim rc As RectangleF = New RectangleF(x, y, cell.Size.Width, cell.Size.Height)
                  Dim rrc As RectangleF = New RectangleF(x, 210, cell.Size.Width, cell.Size.Height)
                  e.Graphics.DrawRectangle(Pens.Black, rc.Left, rc.Top, rc.Width, rc.Height)

                  e.Graphics.DrawString(DataGridView1.Columns(cell.ColumnIndex).HeaderText, .Font, Brushes.Black, rrc, fmt)
                  e.Graphics.DrawString(DataGridView1.Rows(cell.RowIndex).Cells(cell.ColumnIndex).FormattedValue.ToString(), .Font, Brushes.Black, rc, fmt)
                  'من هنا رسم كتابات و تفاصيل اخرى في القائمة
                  Dim Font As New System.Drawing.Font("arial ", 12)
                  Dim Font1 As New System.Drawing.Font("arial ", 10)
                  'e.Graphics.DrawImage(logoPic.Image, <>, {})
                  e.Graphics.DrawImage(logoPic.Image, 353, 30, 170, 150)
                  e.Graphics.DrawString("قائمة صيانة شركة رويال الرحماني", Font, Brushes.Red, 343, 174)
                  e.Graphics.DrawString(TimeOfDay, Font, Brushes.Black, 50, 64)
                  e.Graphics.DrawString(DateString, Font, Brushes.Black, 50, 80)
                  e.Graphics.DrawString("شركة رويال الرحماني", Font, Brushes.Black, 653, 64)
                  e.Graphics.DrawString("الاجهزة الكهربائية", Font, Brushes.Black, 661, 84)
                  e.Graphics.DrawString("MM-DD-YYYY", Font1, Brushes.Black, 50, 99)
                  e.Graphics.DrawString("اربيل - شارع كوية - مقابل جامع ابراهيم كردي / بأدارة رائد الرحماني الوكيل الوحيد لشركة رويال الرحماني في كوردستان العراق", Font, Brushes.DarkBlue, 100, 1010)
                  e.Graphics.DrawString("هاتف الصيانة : 07828342083", Font, Brushes.DarkBlue, 350, 1035)

                  x += rc.Width
                  h = Math.Max(h, rc.Height)
              Next
              newpage = False
              y += h
              mRow += 1
              If y + h > e.MarginBounds.Bottom Then
                  e.HasMorePages = True
                  mRow -= 1
                  newpage = True
                  Exit Sub
              End If
          Loop
          mRow = 0
      End With



نتيجة الكود عند ضغط زر الطباعة :




اتمني ان اجد حل لهذه المشكله لاني والله توقف المشروع بالكامل على هذه الخطوة
الرد }}}
تم الشكر بواسطة:
#2
أخي الفاضل :

مرفق لك مثال للتجربة أتمنى أن تجد فيه الإفادة المطلوبة


الملفات المرفقة
.zip   print_and_preview.zip (الحجم : 10.85 ك ب / التحميلات : 132)
Don't Be The Perfect one
be the right one
الرد }}}
تم الشكر بواسطة: رومنس الشوق
#3
يعطيك العافيه يالغالي

اتمني لو تعدل على الكود اللي انا واضعه اكون شاكر لك
الرد }}}
تم الشكر بواسطة:
#4
جزاك الله خيرا
سبحان الله والحمدلله ولا إله إلا الله والله أكبر

 رَبِّ اغْفِرْ لِي وَلِوَالِدَيَّ
Angel

Instgram : up.2.dates
الرد }}}
تم الشكر بواسطة:
#5
جرب هذه الاداة
http://vb4arb.com/vb/showthread.php?tid=21682
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة فى Radiobutton عند وضع صورة فيه أبو جودة 3 72 أمس, 04:31 AM
آخر رد: Taha Okla
  [سؤال] لدي مشكلة عند قراءة ملف نصي من خلال أداة RichBox , حيث تظهر لي علامات استفهام Mostchar 2 149 07-04-24, 02:51 PM
آخر رد: تركي الحلواني
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 140 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  مشكلة في التايمر assuhimi 3 125 23-03-24, 04:51 PM
آخر رد: Taha Okla
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 652 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 209 15-03-24, 01:11 AM
آخر رد: justforit
  [سؤال] مشكلة اتصال مفتوح dell 2 171 12-03-24, 09:46 PM
آخر رد: dell
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 155 12-03-24, 10:37 AM
آخر رد: strongriseman
  مشكلة فى جمع عمود فى داتا جريد فيو احمد خطاب 3 160 06-03-24, 07:49 PM
آخر رد: احمد خطاب
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 193 05-03-24, 08:27 PM
آخر رد: مصمم هاوي

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


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