منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة (/showthread.php?tid=30832)

الصفحات: 1 2


اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - الرائد - 11-08-19

عيد أضحى مبارك 
لكل اخواني في الله المسلمين وكل الاصدقاء والزوار على منتدنا فيجوال بيسك لكل العرب 
--------------------------
لدي استفسار بخصوص أمر الطباعة لجدول DataGridView1 . 
لقد قمت بانشاء كود يتعلق بطباعة محتوى DataGridView1 لكن المشكلة أن الامر يجعل الكود يبدأ من اليسار الى اليمين , وحين اضافة دالة التغيير باستخدام  
كود :
sf.FormatFlags = sf.FormatFlags Or StringFormatFlags.DirectionRightToLeft

قام بتغيير جهة الكتابة في الجدول فقط فمثلا id أجدها على اليسار , وأنا اودها على اليمين أرجوا ان يكون السؤال مفهوما لكم وشكرا 
كود الطباعة  :
كود :
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)
           Dim sf As New StringFormat

           sf.Alignment = StringAlignment.Center
           sf.LineAlignment = StringAlignment.Center
           sf.FormatFlags = sf.FormatFlags Or StringFormatFlags.DirectionRightToLeft

           sf.LineAlignment = StringAlignment.Center
           sf.Trimming = StringTrimming.EllipsisCharacter
           Dim y As Single = 230
           Do While mRow < .RowCount
               Dim row As DataGridViewRow = .Rows(mRow)
               Dim x As Single = 25
               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, sf)
                   e.Graphics.DrawString(DataGridView1.Rows(cell.RowIndex).Cells(cell.ColumnIndex).FormattedValue.ToString(), .Font, Brushes.Black, rc, sf)
                   '''''------------------CONTENU PAGE **** المحتوى الرسمي للصفحة---------------------
                   'الخطوط
                   Dim Font As New System.Drawing.Font("Sakkal Majalla ", 16, FontStyle.Bold)
                   Dim Font1 As New System.Drawing.Font("Sakkal Majalla ", 12, FontStyle.Bold)
                   e.Graphics.DrawString("قاعدة البيانات لمختلف الشواهد لإدارية المسملة", Font, Brushes.Red, 300, 100)
                   e.Graphics.DrawString(TimeOfDay, Font1, Brushes.Black, 25, 44)
                   e.Graphics.DrawString(DateString, Font1, Brushes.Black, 25, 60)
                   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



RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - asemshahen5 - 11-08-19

اداة طباعة الداتا جريد


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - الرائد - 12-08-19

(11-08-19, 10:11 PM)asemshahen5 كتب : اداة طباعة الداتا جريد

شكراا لك كثير أخي 
أحسستني بغبائي , اتعلم كم من الوقت استغرقت في الكود اعلاه ولازال عليه تطوير كبير 
لكن وجدت في رابطك شيء كنت أبحث عنه .ههههه Heart
جزاك الله ألف شكر


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - Beginer - 12-08-19

فعلا الكود أعلاه يحتاج تطوير، وهذا تعديل لجزئية بسيطة هكذا
PHP كود :
For Each cell As DataGridViewCell In row.Cells
    Dim w 
e.PageBounds.Width cell.Size.Width
    Dim rc 
As RectangleF = New RectangleF(xycell.Size.Widthcell.Size.Height)
 
   Dim rrc As RectangleF = New RectangleF(x210cell.Size.Widthcell.Size.Height)
 
   e.Graphics.DrawRectangle(Pens.Blackrc.Leftrc.Toprc.Widthrc.Height



RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - ابراهيم ايبو - 12-08-19

اهلا اخي الرائد 
ليس كما تقول عن نفسك فلو لم تكن ذكيا لما طرقت باب البرمجة
كلنا لدينا نقصا في العلم ولم بولد احد منا وهارد ديسك دماغه مليئة
كلنا نقوم يوميا بإملائه بما نتعلمه العلم بحر لايعلم حدوده الا الله
وفوق كل ذي علم عليم
تعلم واطلب العلم فهذه عبادة
اضحى مبارك



RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - Beginer - 12-08-19

أؤيد ما ذكره العم ابراهيم،
فلا داعي للوصف السلبي الذي قد ينعكس على العقل الباطن (كما قرأته في مقال طبي على ما أعتقد).
وكل عام وأنتم بخير واضحى مبارك.


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - الرائد - 12-08-19

(12-08-19, 12:39 AM)ابراهيم ايبو كتب :
اهلا اخي الرائد 
ليس كما تقول عن نفسك فلو لم تكن ذكيا لما طرقت باب البرمجة
كلنا لدينا نقصا في العلم ولم بولد احد منا وهارد ديسك دماغه مليئة
كلنا نقوم يوميا بإملائه بما نتعلمه العلم بحر لايعلم حدوده الا الله
وفوق كل ذي علم عليم
تعلم واطلب العلم فهذه عبادة
اضحى مبارك

اعلم ذلك . أيها العم المحترم
ولا انتقص من اسلوبي أو نفسي , بذلك الكلام , بل أعتبره محض تحفيزي نفسي فقط
وشكرا على مساعدتكم

(11-08-19, 10:11 PM)asemshahen5 كتب : اداة طباعة الداتا جريد

أود التعديل على ملف التعريفrefferenc كيف يمكنني ذلك


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - asemshahen5 - 12-08-19

تفضل هذا السورس كود .

لكن بعد التعديل عليه ضع مثال مع التعديل مع السورس كود في قسم امثلة و مشاريع ليستفيد منه الاعضاء شاكرا لك مقدما .


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - الرائد - 12-08-19

(12-08-19, 11:39 AM)asemshahen5 كتب : تفضل هذا السورس كود .

لكن بعد التعديل عليه ضع مثال مع التعديل مع السورس كود في قسم امثلة و مشاريع ليستفيد منه الاعضاء شاكرا لك مقدما .
شكرا لك لكنه يعطيني رسالة خطأ اثناء debug


RE: اظهار DataGridView1 من اليمين الى اليسار خلال امر الطباعة - asemshahen5 - 12-08-19

السورس كود بتاع الاداة مفهوش اي مشكلة جربته .

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

[attachment=22501]

[attachment=22502]