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

نسخة كاملة : استخدم e.HasMorePages مع For Each
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سؤال محيرنى جدا جدا وارجو المساعدة
اقوم بعمل برنامج مبيعات طباعة الفواتير باستخدام PrintDocument وتعمل معى بشكل والحمد لله جيد جدا
واستخدم فى عرض البيانات فى الفورم ListView ويتم الطباعة بشكل عادى جدا

ولكن عندما تزيد البيانات فى الصفحة اريد وضع باقى البيانات فى صفحة ثانية
عندما استخدم الداتا جريد فيو واستخدام for فى عرض البيانات من الجريد فيو مثل هذا الكود
PHP كود :
For As Integer RowNo To DGV.Rows.Count
    e
.Graphics.DrawString((1) + 1fBrushes.Black765yfr)
 
e.Graphics.DrawString(DGV.Rows(1).Cells(1).Value.ToString(), fBrushes.Black720yfr)
  
e.Graphics.DrawString(DGV.Rows(1).Cells(2).Value.ToString(), fBrushes.Black450yfr)
                If 
RowNo Mod 20 0 Then
                    RowNo 
+= 1
                    e
.HasMorePages True
                    
Exit For
                
End If
                
RowNo += 1
                y 
+= 40

            Next 
وسؤالى كيف استخدم e.HasMorePages مع For Each

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







PHP كود :
Private Sub PrintDocument1_PrintPage(ByVal sender As System.ObjectByVal e As System.Drawing.Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage

        
For 1 To 20

            e
.Graphics.DrawString(RowNofBrushes.Black765yfr)
            
e.Graphics.DrawString(DGV.Rows(RowNo 1).Cells(0).Value.ToString(), fBrushes.Black765yfr)
            
e.Graphics.DrawString(DGV.Rows(RowNo 1).Cells(1).Value.ToString(), fBrushes.Black720yfr)
            
e.Graphics.DrawString(DGV.Rows(RowNo 1).Cells(2).Value.ToString(), fBrushes.Black450yfr)

            If 
RowNo Mod 20 0 Then

                RowNo 
+= 1
                
If RowNo =DGV.Rows.Count Then Exit Sub

                e
.HasMorePages True
                y 
100
                
Exit For

            
End If

            
RowNo += 1
            y 
+= 40

        Next

    End Sub 





السلام عليكم ورحمة الله وبركاته
اولا شكر على الرد ولكن اريد استخدام وضع الداتا مع For Each
وهذا مثال عرض الداتا من الداتا بيس عن طريق ListView
PHP كود :
For Each item As ListViewItem In ListView1.Items

                e
.Graphics.DrawString(item.SubItems(0).TextfBrushes.Black75y)
                
e.Graphics.DrawString(item.SubItems(0).TextfBrushes.Black75y)
                
e.Graphics.DrawString(item.SubItems(1).TextfBrushes.Black120y)

                If 
>= "700" Then
                    rowno 
+= 1
                    e
.HasMorePages True
                    
Exit For
                
End If
            
Next 

ارجو مراجعة الكود وتوضيح الخطأ e.HasMorePages = True