منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة في طباعة التقرير باستخدام الباراميتر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة التقارير والطباعة تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=71)
+--- الموضوع : مشكلة في طباعة التقرير باستخدام الباراميتر (/showthread.php?tid=3499)

الصفحات: 1 2


مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 17-07-14

السلام عليكم
أخواني الأفاضل في المرفق مثال بسيط عن مشكلتي في كود ترحيل محتويات التكست بوكس من الفورم إلى الكريستال ريبورت وطباعة التقرير تلقائياً بدون معاينة

أفيدوني جزاكم الله خيراً فقد تعلمت الكثير من خلال هذا المنتدى وأرغب بالمزيد


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - حريف برمجة - 17-07-14

لو تقارير المايكروسوفت المدمجة مع الفيجوال ستوديو كان افدتك ،، الكريستال ريبورت برنامج خارجي عن الفيجوال لذلك ما اتعامل معه . في انتظار احد الاخوه ممن يتعامل مع الكريستال .


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 17-07-14

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


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - vbnet - 19-07-14

.....

منقول مع تعديل بسيط ليناسب طلبك

الطباعة إلى الطابعة الإفتراضية مباشرة بدون معاينة
كود :
' الطباعة إلى الطابعة الإفتراضية مباشرة بدون معاينة
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    ' إستخدام التقرير
    Using myreport As New CrystalReport1
        ' تمرير قيمة إلى التقرير
        myreport.SetParameterValue("Amount", TextBox1.Text)

        ' إرسال إلى الطابعة
        myreport.PrintToPrinter(1, True, 0, 0)
    End Using

End Sub


منقول مع تعديل بسيط ليناسب طلبك

الطباعة إلى الطابعة المختارة من نافذة حوار الطباعة مباشرة بدون معاينة
كود :
' الطباعة إلى الطابعة المختارة من نافذة حوار الطباعة مباشرة بدون معاينة
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    ' إستخدام التقرير
    Using myreport As New CrystalReport1
        ' تمرير قيمة إلى التقرير
        myreport.SetParameterValue("Amount", TextBox1.Text)

        ' إستخدام مربع حوار الطباعة
        Using ptr As New PrintDialog
            ptr.UseEXDialog = True ' لابد من هذا السطر ليظهر مربع حوار الطباعة
            If ptr.ShowDialog = Windows.Forms.DialogResult.OK Then
                myreport.PrintOptions.PrinterName = ptr.PrinterSettings.PrinterName

                ' إرسال إلى الطابعة
                myreport.PrintToPrinter(1, True, 0, 0)
            End If
        End Using

    End Using
End Sub

.....


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 19-07-14

بارك الله فيك أخي العزيز فعلا مميز
هل يمكن تفريغ التقرير من البيانات المرسلة إليه بكود واحد


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 19-07-14

آسف أخي العزيز كان سؤالي في غير محله حيث أنني لم أكن قد جربت الكود بعد

لكن لو تكرمت لدي سؤال فيما يتعلق بموضوع التفقيط
http://vb4arb.com/vb/thread-3503.html

مع كل الشكر والتقدير


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 22-07-14

أخي vbnet أخواني الأعزاء
كان طلبي السابق يتعلق بطباعة التقرير مباشرة بدون معاينته إلا أن العميل يريد رؤية التقرير قبل الطباعة
فهل لي بمساعدتكم جزاكم الله خيراً حيث أني قليل خبرة في موضوع التقارير كفاكم الله شرها
في المرفق مثال بسيط للتطبيق


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - vbnet - 23-07-14

.....

منقول مع تعديل بسيط ليناسب طلبك

كود :
' جدول البيانات هذا يفترض أن يحتوي بيانات ناتج استعلام ما
Dim myDataTable As New DataTable

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    '---------------------------------------------------------
    ' إما أن يكون جدول البيانات تمت تعبئة مسبقاً
    ' أو أن يتم هنا استدعاد إجراء لتعبئة جدول البيانات بناتج استعلام ما
    '---------------------------------------------------------

    ' إنشاء فورم المعاينة برمجياً
    Using frmPreview As New Form

        '---------------------------------------------------------
        ' تعديل خصائص فورم المعاينة ------------------------------
        ' وضع عنوان للفورم
        frmPreview.Text = "معاينة"
        ' جعل واجهة الفورم من اليمين لليسار
        frmPreview.RightToLeftLayout = True
        frmPreview.RightToLeft = Windows.Forms.RightToLeft.Yes
        ' تحديد حجم الفورم
        frmPreview.Size = New Size(700, 500)
        '' جعل الفورم بكامل الشاشة
        'frmPreview.WindowState = FormWindowState.Maximized
        ' تحديد مكان ظهور الفورم في منتصف الشاشة
        frmPreview.StartPosition = FormStartPosition.CenterScreen
        '---------------------------------------------------------

        ' إستخدام التقرير
        Using myreport As New CrystalReport1

            ' ربط جدول البيانات بالتقرير
            ' يجب أن يكون قبل تمرير قيم للتقرير
            myreport.SetDataSource(myDataTable)

            '---------------------------------------------------------
            ' تمرير كل القيم المطلوبة إلى التقرير حتى لو كانت فارغة
            myreport.SetParameterValue("Amount", TextBox1.Text)
            'myreport.SetParameterValue("Description", TextBox2.Text)
            '---------------------------------------------------------

            ' إنشاء عارض التقارير برمجياً
            Using myCRptViewer As New CrystalDecisions.Windows.Forms.CrystalReportViewer

                ' جعل أداة عارض التقارير أحد أدوات فورم المعاينة
                myCRptViewer.Parent = frmPreview

                ' جعل أداة عرض التقرير بكامل الفورم
                myCRptViewer.Dock = DockStyle.Fill

                ' إخفاء بعض أدوات عارض التقارير التي لا نحتاجها
                myCRptViewer.DisplayGroupTree = False
                myCRptViewer.ShowCloseButton = False
                myCRptViewer.ShowExportButton = False
                myCRptViewer.ShowGroupTreeButton = False
                myCRptViewer.ShowRefreshButton = False
                myCRptViewer.ShowTextSearchButton = False

                ' ربط التقرير بعارض التقارير
                myCRptViewer.ReportSource = myreport

                ' وضع الزووم للصفحة داخل أداة عارض التقارير
                ' 1 = Page Width بعرض الصفحة
                ' 2 = Whole Page بكامل الصفحة
                myCRptViewer.Zoom(2)

                ' عرض فورم المعاينة
                frmPreview.ShowDialog()

            End Using
        End Using
    End Using
End Sub

.....


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 23-07-14

راااااائع أخي vbnet كالعادة
لكن كيف يمكن التحكم بخصائص هذا الفورم الجديد frmPreview ( طوله، عرضه، مكان ظهوره، عنوانه .....إلخ)

تقبل مني كل الشكر والامتنان


RE: مشكلة في طباعة التقرير باستخدام الباراميتر - abuzzouz - 27-07-14

اخواني الأفاضل
لدي مشكلة في طباعة التقرير أعتقد أنها تتعلق بحجم الورق حيث أني حين أطبع بحجم A4 يظهر التقرير سواء كان اتجاه الطباعة أفقي Landscape أو عمودي Portrait
أما عند الطباعة بحجم أصغر من A4 يظهر التقرير فقط عندما تكون الطباعة باتجاه عمودي أما بالاتجاه الأفقي فلا يظهر نهائياً
وأنا أحتاج الطباعة مباشرة بالخيارين ولا أريد إظهار PrintDialog
استخدم الكود التالي دون جدوى
كود :
MyRep.PrintOptions.PaperOrientation = PaperOrientation.Portrait

Or

MyRep.PrintOptions.PaperOrientation = PaperOrientation.Landscape

أفيدوني جزاكم الله ألف خير