الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طباعة data repeater

بدأه كارم سامي في 20 نوفمبر 2011 · 6 رد · 909 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ..

استخدمت اداة data repeater لتكرار البيانات ( 6 ادخالات بالصفحة ) ووضعتها في panel ..

ولكن لم اوفق في كتابة كود لطباعة تلك البيانات من خلال هذه الأداة ..

رجاء المساعدة في كود لطباعة صفحة صفحة ،،،، واخر لطباعة جميع البيانات في كل الصفحات ..

شكراً لكم

#2

السلام عليكم ورحمه الله وبركاته

Data Repeater؟!! هل تقصد الاداة الموفرة في تقنية الـ ASP؟

تم تعديل هذه المشاركة بواسطة VB Helper في 21 نوفمبر 2011 في 00:37

.:: Wish to become better and better ::.

#3

data repeater هذه الأداة موجودة ضمن Visual Basic PowerPacks في فيجول استديوا 2010

post-235772-079438700 1321866360_thumb.p

المرفقات
21-11-2011 11-03-12 ص.png
#4

السلام عليكم

انظر الي هذا الرابط

الرابط الاول

1

[moveright]Haytham [/moveright]

#5

السلام عليكم ورحمه الله وبركاته

اخي جرب الكود التالي

	Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintButton.Click
    	If Me.DataRepeater1.ItemCount > 0 Then
        	' Define a VB Power Packs Printer object
        	Dim printer As New Printer()

        	Dim sz As Size = Me.DataRepeater1.CurrentItem.ClientSize
        	Dim w As Integer = sz.Width
        	Dim h As Integer = sz.Height

        	Dim bm As New Bitmap(w, h)

        	Dim x = 0
        	Dim y = 100

        	Dim n As Integer = Me.DataRepeater1.ItemCount
        	For i As Integer = 1 To n
            	' Set item i be the current item so that it can be visible
            	Me.DataRepeater1.CurrentItemIndex = i - 1

            	' Paint the content of the current DataRepeater item to a bitmap
            	Dim item As DataRepeaterItem = Me.DataRepeater1.CurrentItem
            	item.DrawToBitmap(bm, item.ClientRectangle)

            	' if y coordinate > height of the page, start a new page
            	' assuming one page can show 15 items
            	If y + h * 15 + 100 > printer.ScaleHeight Then
                	printer.NewPage()
                	y = 100
            	End If

            	' Print the bitmap to the printer
            	printer.PaintPicture(bm, x, y)

            	' Calculate the next left,top position
            	y += h * 15
        	Next

        	printer.EndDoc()
    	End If
	End Sub

تم تعديل هذه المشاركة بواسطة VB Helper في 23 نوفمبر 2011 في 00:05

.:: Wish to become better and better ::.

#6

شكراً لك اخي الكريم ... ولكن اعمل من خلال السي شارب وليس الفيجول بيزك

#7

السلام عليكم ورحمه الله وبركاته

عذرا اخي, هذا هو كود السي شارب

private void PrintButton_Click(System.Object sender, System.EventArgs e)
{
	if (this.DataRepeater1.ItemCount > 0) {
		// Define a VB Power Packs Printer object
		Printer printer = new Printer();

		Size sz = this.DataRepeater1.CurrentItem.ClientSize;
		int w = sz.Width;
		int h = sz.Height;

		Bitmap bm = new Bitmap(w, h);

		dynamic x = 0;
		dynamic y = 100;

		int n = this.DataRepeater1.ItemCount;
		for (int i = 1; i <= n; i++) {
			// Set item i be the current item so that it can be visible
			this.DataRepeater1.CurrentItemIndex = i - 1;

			// Paint the content of the current DataRepeater item to a bitmap
			DataRepeaterItem item = this.DataRepeater1.CurrentItem;
			item.DrawToBitmap(bm, item.ClientRectangle);

			// if y coordinate > height of the page, start a new page
			// assuming one page can show 15 items
			if (y + h * 15 + 100 > printer.ScaleHeight) {
				printer.NewPage();
				y = 100;
			}

			// Print the bitmap to the printer
			printer.PaintPicture(bm, x, y);

			// Calculate the next left,top position
			y += h * 15;
		}

		printer.EndDoc();
}
   }

تم تعديل هذه المشاركة بواسطة VB Helper في 24 نوفمبر 2011 في 00:57

.:: Wish to become better and better ::.

مواضيع مشابهة