• 0
كارم سامي

طباعة data repeater

سؤال

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

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

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

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

شكراً لكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

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

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

تم تعديل بواسطه VB Helper
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

post-235772-079438700 1321866360_thumb.p

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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


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
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .