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

عدم إمكانية ارسال صورة إلى التقرير مع إرسال باراميتر أو Formula

بدأه ميدو صلاح في 17 يونيو 2010 · 0 رد · 547 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

أخواني أنا وضعت الكود الخاص بارسال صورة إلى التقرير حيث أني أريد تغيير اللوجو الخاص بشركة حسب اختيار المستخدم ... بحثت كثيرا ووجدت الكود التالي وهو يعمل بطريقة ممتازة بس إذا قمت بتحميل التقرير بدون شروط أو باراميترات أو formula .... بمعنى أني عندما أكتب هذا الكود مع وضع فورميلا أو شرط معين أو باراميتر لم يظهر لي نتيجة الباراميتر أو الفورميلا نظرا لأن الكود الخاص بوضع الصورة كما تلاحظون يعتمد على إنشاء Data table جديد ويجب حتى تظهر الصورة كما في آخر الكود يجب أن يكون مصدر البيانات المحتوي عليه التقرير هو نفسه مصدر الجدول الخاص بالصورة .... وطبعا هذا يعني أن التقرير لم يأخذ بياناته من الجدول الخاص بقاعدة البيانات المستخدمة في الجهاز

فهل يمكن إقناع التقرير بأن يظهر بيانات من جدول البرنامج وكذلك من الجدول الذي تم إنشاؤه الخاص بالصورة ؟؟؟؟؟؟؟؟؟؟

أو هل يمكن تعديل الكود التالي بحيث يقوم بإرسال صورة من الفورم مباشرة بدون إنشاء جدول جديد حتى لا يحدث خطأ عند تحميل التقرير بحيث أقوم بجعل DataSource الخاص بالتقرير هو الجدول الموجود في البرنامج والمحتوي على البيانات وليس الصورة ؟؟؟؟؟؟

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

الكود المستخددم هو

        Try
            Dim dt As New DataTable
            Dim drow As DataRow
            dt.Columns.Add("Image", System.Type.GetType("System.Byte[]"))
            drow = dt.NewRow
            Dim fs As FileStream
            Dim br As BinaryReader
            If File.Exists(AppDomain.CurrentDomain.BaseDirectory & "\photos\" & b & ".jpg") Then
                fs = New FileStream(AppDomain.CurrentDomain.BaseDirectory & "\photos\" & b & ".jpg", FileMode.Open)
            Else
                MsgBox("لم تقم باختيار لوجو الشركة لذا: سيتم تحميل اللوجو الافتراضي")
                fs = New FileStream(AppDomain.CurrentDomain.BaseDirectory & "\photos\" & "0.jpg", FileMode.Open)
            End If
            br = New BinaryReader(fs)
            Dim imgbyte(fs.Length) As Byte
            imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)))
            drow(0) = imgbyte
            dt.Rows.Add(drow)
            br.Close()
            fs.Close()
            rptobj.SetDataSource(dt)
            CrystalReportViewer1.ReportSource = rptobj
        Catch ex As Exception
            MsgBox("عفوا: لا يمكن تحميل لوجو الشركة")
            CrystalReportViewer1 = Nothing
        End Try

حيث أن المشكلة عندي في هذا السطر من الكود

            rptobj.SetDataSource(dt)

فكييف أقوم بعرض التقرير مع وجود صورة متغيرة بشرط عدم ذكر السطر السابق في التقرير هل يمكن ذلك ؟؟؟؟؟؟؟؟ لأنه هو المشكلة لدي الآن

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…