منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
استخدم e.HasMorePages مع For Each - نسخة قابلة للطباعة

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



استخدم e.HasMorePages مع For Each - manduh - 21-07-13

سؤال محيرنى جدا جدا وارجو المساعدة
اقوم بعمل برنامج مبيعات طباعة الفواتير باستخدام 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


استخدم e.HasMorePages مع For Each - @@أبورائد@@ - 21-07-13


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







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 





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



استخدم e.HasMorePages مع For Each - manduh - 21-07-13

اولا شكر على الرد ولكن اريد استخدام وضع الداتا مع 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