![]() |
|
[VB.NET] كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة (/showthread.php?tid=26207) |
كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة - Hazem1 - 23-08-18 بسم الله الرحمن الرحيم يا أهل الخير عندي مشكلة بسيطة عليكم إن شاء الله هذا الكود كتبه أحد الأفاضل لطباعة بيانات ال Datagridview يعمل بشكل جيد عندما تكون البيانات في صفحة واحدة وللأسف الشديد عندما تكون البيانات في إطار أكثر من صفحة تبدأ الطابعة في العد دون انتهاء ، فهل من فاعل خيرٍ يقوم بالتعديل على الكود حتى يقوم بطباعة أكثر من صفحة وجزاكم الله حيراً. Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
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)
'Dim image As New Bitmap(filename:="hidd1.jpg")
'e.Graphics.DrawImage(image, 353, 30, 170, 150)
'e.Graphics.DrawString("Date:", Font, Brushes.Black, 50, 64)
'e.Graphics.DrawString(Today, Font, Brushes.Black, 92, 64)
'e.Graphics.DrawString("Date:", Font, Brushes.Black, 50, 80)
'e.Graphics.DrawString(DateString, Font, Brushes.Black, 92, 80)
'e.Graphics.DrawString("Hidd Consumer Society", Font, Brushes.Black, 340, 160)
'e.Graphics.DrawString("MM-DD-YYYY", Font1, Brushes.Black, 50, 99)
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
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End Sub
RE: كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة - عابر سبيل 2 - 23-08-18 تفضل الكود بعد التعدل
PHP كود : Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPageRE: كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة - Hazem1 - 23-08-18 أشكر حضرتك جدًا أخي الكريم عابر سبيل 2 ، جزاك الله خيراً وأكرمك الرحمن بالفردوس الأعلى. RE: كيف يُمكن طباعة بيانات Datagridview عندما تكون البيانات أكثر من صفحة واحدة - elgokr - 23-08-18 الاخ عابر سبيل 2 ما قصر
فتحياتى له فيما يقدمه من مساعدة
تحياتى لكم
وتمنياتى لكم التوفيق
|