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

نسخة كاملة : مشكلة الطباعه المباشره في DEVEXPRESS
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم تم كتابة الكود في الاسفل لعرض تقرير مبيعات نقطة بيع  باستخدام Devexpress xtra report      في الكود عند الضغط على طباعه يتم اظهار  الفاتوره  حيث يمكن طباعة الفاتوره بشكل يدوي عند الضغط على زر طباعه من صفحة عرض التقرير
المطلوب التعديل على الكود بحيث تتم عملية الطباعه بشكل مباشر دون عرض التقرير ولكم جزيل الشكر

Private Sub SimpleButton3_Click(sender As Object, e As EventArgs) Handles SimpleButton3.Click
        save_btn_Click(Nothing, Nothing)
        Dim adp As New SqlDataAdapter("select * from invoice_print where invoice_number=N'" & (printcode.Text) & "'", sqlconn)
        Dim ds As New DataSet
        adp.Fill(ds)
        Dim dt = ds.Tables(0)
        If dt.Rows.Count = 0 Then
            MsgBox("لايوجد بيانات لطباعتها", MsgBoxStyle.Critical, "خطاء")
            Exit Sub
        End If
        Dim rept
        rept = New invoice_pos112
        Dim tool As New XtraReport
        rept.datasource = dt
        Dim frm As New preview
        preview.DocumentViewer1.DocumentSource = rept
        preview.Show()
    End Sub
كود :
Private Sub SimpleButton3_Click(sender As Object, e As EventArgs) Handles SimpleButton3.Click
       save_btn_Click(Nothing, Nothing)
       Dim adp As New SqlDataAdapter("select * from invoice_print where invoice_number=N'" & (printcode.Text) & "'", sqlconn)
       Dim ds As New DataSet
       adp.Fill(ds)
       Dim dt = ds.Tables(0)
       If dt.Rows.Count = 0 Then
           MsgBox("لايوجد بيانات لطباعتها", MsgBoxStyle.Critical, "خطاء")
           Exit Sub
       End If
        
       Dim rept
       rept = New invoice_pos112
        
       
        rept.datasource = dt
       
        '''
       'Dim tool As New XtraReport
        'Dim frm As New preview
       'preview.DocumentViewer1.DocumentSource = rept
       'preview.Show()
        '''
        
        
        ' طباعة مباشرة
        Dim tool As New ReportPrintTool(rept)  
        tool.PrintingSystem.ShowPrintStatusDialog = False  
        rept.CreateDocument(False)  
        tool.Print()
   End Sub
شكرا جاري التجربه
شكرا اخي الكريم بعد التجربه تمت عملية الطباعه بنجاح على الطابعه الافتراضية للفاتوره ولكن كيف يمكن العمل اذا اردت الطباعه على اكثر من طابعه ، كيف يتم تحديد اسم الطابعه المراد الطباعه عليها من خلال الكود
ببساطة حدد اسم الطابعة المراد إرسال التقرير إليها في دالة الطباعة (فيها كونستركتر يقبل اسم الطابعة)

كود :
tool.Print(Printer1)
tool.Print(Printer2)
يسلموا اخي شكرا كثيرا في ميزان حسناتك ان شاء الله   ولكن عند التجربه بادخال اسم طابعه من الجهاز يظهر خطا كما هو موضح في الصوره المرفقه

السلام عليكم الفائده للجميع الخطا الموضح في الصوره الحل يكمن في تعديل الكود : tool.print("HP Laserjet P2035")

الشكر والعرفان لكل من ساهم في حل مشكلتي