منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] التعديل علي حلقة تكرارية - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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] التعديل علي حلقة تكرارية (/showthread.php?tid=23686)



التعديل علي حلقة تكرارية - محمد اسماعيل - 05-02-18

عندي كود يطبع اعمدة الداتا جريد

وبية حلقة تكرارية لمعرفة الاعمدة بالداتا جريد المشكل اني لا اريد ظهور اخر 2 عمود بالاعمدة  وقمت باخفائهم ولكن ظهرو عند الطباعة

حاولت التعديل علي الحلقة التكرارية ولكن ظهر خطا بقيمة المتغير المسندة الاعمدة

جزء الحلقة التكرارية الخاص بالمشكلة


كود :
 Dim iLeftMargin As Integer
       'Set the top margin
       Dim iTopMargin As Integer = e.MarginBounds.Top
       'Whether more pages have to print or not
       Dim bMorePagesToPrint As Boolean = False
       Dim iTmpWidth As Integer = 0
       Dim nRowsPerPage As Int16
       'For the first page to print set the cell width and header height
       If bFirstPage = 1 Then
            المشكلة هنا اسفل'

For Each GridCol As DataGridViewColumn In DataGridView1.Columns
               iTmpWidth = CInt(Math.Floor(CDbl(CDbl(GridCol.Width) / CDbl(iTotalWidth) * CDbl(iTotalWidth) * (CDbl(e.MarginBounds.Width) / CDbl(iTotalWidth)))))

               iHeaderHeight = CInt(e.Graphics.MeasureString(GridCol.HeaderText, New Font("Times New Roman", 10, FontStyle.Bold), iTmpWidth).Height) + 11

               ' Save width and height of headers
               arrColumnLefts.Add(iLeftMargin - 1)
               arrColumnWidths.Add(iTmpWidth - 1)

           Next
       End If

ماحولتي 1- قمت باخفاء اخر 2 عمود ولا كن ظهرو في الطباعة
المحاولة  2- الثانية تعديل الحلقة وحدث خطا بالمتغير   بكل اماكنة  gridcol
التعديل بالخطا


كود :
For  GridCol =0 to  DataGridView1.Columncount-2



RE: التعديل علي حلقة تكرارية - محمود صالح - 05-02-18

الاداة دي متطورة وتقدر تحدد الاعمدة المطلوب طباعتها

http://vb4arb.com/vb/showthread.php?tid=21682


RE: التعديل علي حلقة تكرارية - محمد اسماعيل - 05-02-18

(05-02-18, 03:42 PM)محمود صالح كتب : الاداة دي متطورة وتقدر تحدد الاعمدة المطلوب طباعتها

http://vb4arb.com/vb/showthread.php?tid=21682


ممكن تحويل المثال الي 2010  وفريم ورك 4 او اقل


RE: التعديل علي حلقة تكرارية - محمود صالح - 06-02-18

اتفضل 
ضع الاداة في ملف المشروع Debug
اعملها اضافة في المشروع 
وبعد كده ممكن الطباعة بسطر واحد وهو
PHP كود :
       PrintDataGridView.PrintDataGridView.Print_Grid(DataGridView1"عنوان الصفحة""نص تحت العنوان""نص اسفل الصفحة"
الباراميترز
الاول : اسم الاداة (DataGridView1)
الثاني : اختياري (عنوان في الاعلى) او ممكن تسيبها فاضية ""
الثالث : اختياري (نص اسفل العنوان في الاعلى) او ممكن تسيبها فاضية ""
الرابع : اختياري (نص اسفل الصفحة) او ممكن تسيبها فاضية ""
عد التنفيذ ستظهر هذه النافذة حتختار الاعمدة الى تريد طباعتها فقط مع اختيار الطباعة المختارة
[attachment=17067]


RE: التعديل علي حلقة تكرارية - محمد اسماعيل - 06-02-18

(06-02-18, 12:59 AM)محمود صالح كتب : اتفضل 
ضع الاداة في ملف المشروع Debug
اعملها اضافة في المشروع 
وبعد كده ممكن الطباعة بسطر واحد وهو
PHP كود :
       PrintDataGridView.PrintDataGridView.Print_Grid(DataGridView1"عنوان الصفحة""نص تحت العنوان""نص اسفل الصفحة"
الباراميترز
الاول : اسم الاداة (DataGridView1)
الثاني : اختياري (عنوان في الاعلى) او ممكن تسيبها فاضية ""
الثالث : اختياري (نص اسفل العنوان في الاعلى) او ممكن تسيبها فاضية ""
الرابع : اختياري (نص اسفل الصفحة) او ممكن تسيبها فاضية ""
عد التنفيذ ستظهر هذه النافذة حتختار الاعمدة الى تريد طباعتها فقط مع اختيار الطباعة المختارة

شكرا اخي الكريم