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

نسخة كاملة : التعديل علي حلقة تكرارية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندي كود يطبع اعمدة الداتا جريد

وبية حلقة تكرارية لمعرفة الاعمدة بالداتا جريد المشكل اني لا اريد ظهور اخر 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
الاداة دي متطورة وتقدر تحدد الاعمدة المطلوب طباعتها

http://vb4arb.com/vb/showthread.php?tid=21682
(05-02-18, 03:42 PM)محمود صالح كتب : [ -> ]الاداة دي متطورة وتقدر تحدد الاعمدة المطلوب طباعتها

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


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

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