السلام عليكم ورحمة الله
أخواني أنا وضعت الكود الخاص بارسال صورة إلى التقرير حيث أني أريد تغيير اللوجو الخاص بشركة حسب اختيار المستخدم ... بحثت كثيرا ووجدت الكود التالي وهو يعمل بطريقة ممتازة بس إذا قمت بتحميل التقرير بدون شروط أو باراميترات أو 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)
فكييف أقوم بعرض التقرير مع وجود صورة متغيرة بشرط عدم ذكر السطر السابق في التقرير هل يمكن ذلك ؟؟؟؟؟؟؟؟ لأنه هو المشكلة لدي الآن