تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعديل كود تصدير الداتاغريد الى Pdf
#1
السلام عليكم

هل من الممكن اضافة التعديلات التالية على الكود من فظلكم

1 - في اعلى الصفحة على اليمين اسم الجدول يؤخذ من التكست بكس1
2 - في اسفل الصفحة على اليمين اسم المؤسسة يؤخذ من التكست بكس2 و على اليسار تاريخ اليوم
3- هل من الممكن اضافة كود لتغيير مكان عمود من الجدول فقط في ملف PDF

بارك الله فيكم جميعا

كود :
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
      On Error Resume Next
      Dim res As DialogResult = MsgBox("هل أنت متأكد من عملية التصدير ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "")
      If res = Windows.Forms.DialogResult.Yes Then
          ' تجهيز الجدول
          Dim pdfTable As New PdfPTable(DataGridView1.ColumnCount)
          pdfTable.DefaultCell.Padding = 3
          pdfTable.WidthPercentage = 100
          ' توسيط الجدول في الصفحة
          pdfTable.HorizontalAlignment = Element.ALIGN_CENTER
          ' تفعيل الاتجاه من اليمين لليسار - ضروري للغة العربية
          pdfTable.RunDirection = PdfWriter.RUN_DIRECTION_RTL
          ' تحديد سماكة الاطار
          pdfTable.DefaultCell.BorderWidth = 1
          ' تعيين ارتفاع افتراضي لخلايا الجدول
          pdfTable.DefaultCell.FixedHeight = 100.0F
          ' الخطوط يجب أن تكون من خطوط النظام لتوافقها مع اللغة العربية
          ' لكن لها طريقة خاصة من معرفة مسار ملف اسم الملف الأصلي كالتالي  
          ' تجهيز خط من النظام - آريـال عريض
          ' Arial (Bold) font
          Dim fontArialBoldPath As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "arialbd.ttf")
          Dim fontArialBold As BaseFont = BaseFont.CreateFont(fontArialBoldPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED)
          ' fontArialBold يتم استخدام هذا الاسم للخط        
          ' قراءة عناوين أعمدة جدول الداتاجريدفيو
          For Each column As DataGridViewColumn In DataGridView1.Columns
              ' تحديد الخط وحجمه
              Dim fnt As New Font(fontArialBold, 18)
              ' تجهيز محتوى الخلية مع الخط
              Dim pdfCell As New PdfPCell(New Phrase(column.HeaderText, fnt))
              ' إرتفاع الخلية
              pdfCell.FixedHeight = 40
              ' تغيير لون خلفية الخلية
              pdfCell.BackgroundColor = New iTextSharp.text.BaseColor(240, 240, 240)
              ' توسيط عمودي
              pdfCell.VerticalAlignment = Element.ALIGN_MIDDLE
              ' توسيط أفقي
              pdfCell.HorizontalAlignment = Element.ALIGN_CENTER
              ' إضافة الخلية إلى الجدول
              pdfTable.AddCell(pdfCell)
          Next
          ' قراءة أسطر جدول الداتاجريدفيو
          For Each row As DataGridViewRow In DataGridView1.Rows
              ' يتم الخروج من الحلقة إذا كان السطر الأخير الجديد
              If row.IsNewRow Then Exit For
              ' قراءة خلايا سطر جدول التاجريدفيو
              For Each cell As DataGridViewCell In row.Cells
                  ' تصحيح محتوى نص خلية جدول التاجريدفيو
                  If IsNothing(cell.Value) Then cell.Value = String.Empty
                  ' تحديد الخط وحجمه ولونه
                  Dim fnt = New iTextSharp.text.Font(fontArialBold, 16, iTextSharp.text.Font.NORMAL, New BaseColor(193, 36, 67))
                  ' تحديد الخط وحجمه بدون تحديد اللون
                  ' Dim fnt = New iTextSharp.text.Font(fontTimesNewRomanBold, 24)
                  ' تجهيز محتوى الخلية مع الخط مع مسافة قبلها
                  Dim pdfCell As New PdfPCell(New Phrase(" " & cell.Value, fnt))
                  ' إرتفاع الخلية
                  pdfCell.FixedHeight = 40
                  ' توسيط عمودي
                  pdfCell.VerticalAlignment = Element.ALIGN_MIDDLE
                  ' إضافة الخلية إلى الجدول
                  pdfTable.AddCell(pdfCell)
              Next
          Next
          ' تجهيز المجلد
          Dim SvFile As New SaveFileDialog
          SvFile.Filter = "Pdf File |*.Pdf"
          Dim folderPath As String = String.Empty
          If SvFile.ShowDialog = Windows.Forms.DialogResult.OK Then
              folderPath = SvFile.FileName
          Else
              Exit Sub
          End If
          'Dim folderPath As String = Application.StartupPath '& "\DataGridViewExport\"
          'If Not System.IO.Directory.Exists(folderPath) Then System.IO.Directory.CreateDirectory(folderPath)
          ' إسم الملف كامل مع المسار
          Dim fileName As String = folderPath '& "DataGridViewExport.pdf"
          ' تجهيز المستند
          Dim pdfDoc As New Document(PageSize.A2, 10.0F, 10.0F, 10.0F, 0.0F)
          ' كتابة المستند في الملف
          PdfWriter.GetInstance(pdfDoc, New System.IO.FileStream(fileName, System.IO.FileMode.Create))
          pdfDoc.Open()
          pdfDoc.Add(pdfTable)
          pdfDoc.Close()
          MsgBox("تمت عملية التصدير الجدول بنجاح", "تصدير", SystemIcons.Information)
      ElseIf res = Windows.Forms.DialogResult.No Then
          MsgBox("تمت عملية إلغاء الجدول", "إلغاء", SystemIcons.Error)
          Exit Sub
      End If
  End Sub

------------------------
منكم أتعلم
------------------------

الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , asemshahen5 , Moneam


الردود في هذا الموضوع
تعديل كود تصدير الداتاغريد الى Pdf - بواسطة sofiane-phy - 18-12-19, 08:19 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن تصدير ascx كملف dll justforit 1 136 06-12-25, 12:33 AM
آخر رد: salamandal
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 215 08-10-25, 02:20 PM
آخر رد: salamandal
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 832 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  تعديل كود تحديث البيانات مصمم هاوي 1 788 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
  تعديل على استدعاء الدرجات حسب الاختيار مصمم هاوي 11 1,010 15-04-25, 06:16 PM
آخر رد: princelovelorn
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 678 03-04-25, 02:44 PM
آخر رد: princelovelorn
  كيف اضف عدد النسخ فى كود تصدير التقرير الى PDF new_programer 1 368 17-03-25, 12:26 AM
آخر رد: princelovelorn
  تعديل مسار مكان حفظ النسخة الاحتياطية مصمم هاوي 6 823 02-03-25, 01:06 PM
آخر رد: atefkhalf2004
  محتاج تعديل على كود الحذف new_programer 2 653 17-02-25, 06:50 PM
آخر رد: new_programer
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 621 05-02-25, 01:51 AM
آخر رد: new_programer

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم