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

كيف اعرض صورة مخزنة في مسار داخل Microsoft Report Viwer

بدأه bnitt في 12 يناير 2011 · 14 رد · 5,371 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني لديا صورة مخزنة في مسار وليكن c:\Docs\a.jpg اريد عرضها داخل تقرير Microsoft Report Viwer

المثال مرفق لكم

WindowsApplication1.rar

#2

افتح شاشة تصميم التقارير

ومن قائمة Report

اختر Add Pictuer

حدد مكان الصورة ثم خزنها داخل التقرير

بعد ذلك اضف كائن الصورة الى التقرير

اذهب الى خصائص الكائن واجعل Source = Impeded

ثم اذهب الى Value

واختر الصورة

او راجع هذا الرابط فهو نفس الخطوات هنا

بالتوفيق

تم تعديل هذه المشاركة بواسطة عبدالرحمن المرشود في 12 يناير 2011 في 12:31

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#3

تشكر اخي

لكن كيف ادرج الصورة انا استخدم تقرير Report1.rdlc و مستعرض التقارير Microsoft Report Viewer

لم استطع ادراج كائن الصورة الى التقرير Report1.rdlc

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

انا لا اريد استخدام الكريستال ريبورت عشان مراح اضمنها على ملف تحزيم البرنامج

#4
bnitt كتب:

لكن كيف ادرج الصورة انا استخدم تقرير Report1.rdlc و مستعرض التقارير Microsoft Report Viewer

هلا اخوي

اذا كنت تستخد vb.net فالطريقة الاولى فعال 100% اما الاخرى

فجرب هذا الرابط Adding Image to Report Viewer

بالتوفيق

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#5

اولاً : اتقدم بالشكر لك اخي على جهودك الطيبة

انا استخدمت هذا الكود لكن لم يعرض لي الصورة وغيرت الخاصية الى ReportViewer1.LocalReport.EnableExternalImages = True

Imports Microsoft.Reporting.WinForms
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try

            ReportViewer1.LocalReport.EnableExternalImages = True

            Dim filepath As Uri
            filepath = New Uri(Application.StartupPath & "\Pic01.JPG")
            Dim par1 As New ReportParameter("Path", filepath.AbsolutePath)
            Dim pars(0) As ReportParameter
            pars(0) = par1
            ReportViewer1.LocalReport.SeetParametrs(pars)

            ReportViewer1.LocalReport.Refresh()

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

لكن لماذا لم يعرض الصورة

هل امرر الصورة الى Parametr

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

ثم لم استطع ادراج الصورة في التقرير

انا ادرجت الكائن لكن لماذا لايضهر على التقرير

تم تعديل هذه المشاركة بواسطة bnitt في 12 يناير 2011 في 22:07

#6

السلام عليكم اخي الكريم

انا لاحظت انك تستخدم vb.net

واليك طريقة عرض صورة بالتقرير بالصور

بسم الله

الصورة الاولى

في هذه الصورة اضافة التقرير

post-174818-096316700 1294941158_thumb.j

الصورة الثانية

بعض اضافة التقرير نضع عليه كائن الصورة والذي اسمه Image

ومن قائمة Report كما هو ظاهر نختار الامر Embeded Image

post-174818-099784100 1294941170_thumb.j

الصورة الثالثة

هذا صندوق حوار اضافة الصورة نختار New Image

post-174818-020388100 1294941186_thumb.j

الصورة الرابعة

بعد ذلك نحدد مسار الصورة ونختارها

post-174818-039063400 1294941247_thumb.j

الصورة الخامسة

كما نرى بالصورة الخامسة تمت اضافة الصورة الى التقرير

والان علينا وضعها في كينونة الصورة على راس التقرير

post-174818-063314200 1294941265_thumb.j

الصورة السادسة

كما ترى اخي العزيز لقد ظهرت الصورة بالتقرير

ولكن عليك عمل بعض الخطوات والاسهم بالصورة توضع معناها

السهم الاول يشير كيفية حجم الصورة في الكائن وانا اختر Fit وتعني ملائم لحجم الكينونة وذلك لعدم اخذ مساحة داخل التقرير

السهم الثاني يشير الى نوع المصدر وهو اما خارجي(External) او داخلي يعني من داخل الجهاز(Embeded) وهذا ما نريد فنختار الخيار الثاني

السهم الثالث ويشير الى القيمة وهي الصورة وتقوم باختيارها بكل سهولة

post-174818-078406700 1294941290_thumb.j

وبعد ذلك تقوم بحفظ التقرير

وهكذا يكون لدينا صورة داخل التقرير

واخر شيء هكذا يظهر التقرير عند التنفيذ

post-174818-062589400 1294941302_thumb.j

الصور بالمرفقات وبالترتيب

بالتوفيق

المرفقات
1.JPG2.JPG3.JPG4.JPG5.JPG6.JPGTicket Report.JPG

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#7

اشكرك اخي عبدالرحمن على الايضاح لكن المشكلة هي في كيفية تمرير الصورة من داخل PictureBox داخل البرنامح الى التقرير

انا استخدمت ال Parmerter لنقل الصورة لكن لم تعرض في التقرير

هذا الكود في الشاشة حيث الصورة مخزنة في مسار

اريد ارسال الصورة برمجيا وليس اختيارها اختيار من الكمبيوتر

Imports Microsoft.Reporting.WinForms
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            ReportViewer1.LocalReport.EnableExternalImages = True
            Dim filepath As Uri
            filepath = New Uri(Application.StartupPath & "\Pic02.Jpg")
            Dim Path As ReportParameter
            Path = New ReportParameter("Path", filepath.AbsolutePath)
            Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter() {Path})
            ReportViewer1.LocalReport.Refresh()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

المثال مرفق

التقرير يحتوي على كائن Image1 ويحتوي على Parameter اسمة Path

كيف ارسل الصورة من الشاشة الى التقرير اعطي مسار الصورة وتعرض داخل كائن Image الموجود في التقرير

WindowsApplication5.rar

تم تعديل هذه المشاركة بواسطة bnitt في 14 يناير 2011 في 01:04

#8

السلام عليكم اخي

انت تقصد انك تريد تمرير الصورة الى التقرير برمجيا

وانا لدي الحل هنا بأذن الله

هذه مشاركة لموضوع وهو اضافة صورة الى قاعدة البيانات وفيها مثال يحتوي على كود تمرير الصورة في المسار لقاعدة البيانات

حفظ صورة باقاعدة بيانات SQL

ملاحظة :

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

والكود في المثال في المشاركة يشرح ذلك

واي استفسار اخي انا جاهز

بالتوفيق

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#9

اخي عبدالرحمن اشكرك

انا لا احفظ الصورة في قاعدة البيانات

انا احفظ الصور داخل مجلد ومسار الصورة مثلا يكون c:\Photo\1.jpg

اريد عرض الصورة داخل التقرير من مسار وليس من قاعدة البيانات

لكن ليس من التقرير نفسة

في التقرير انا ادرجت كائن image اريد عرض صورة من مسار المسار انا اححدة برمجيا

Imports Microsoft.Reporting.WinForms
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            ReportViewer1.LocalReport.EnableExternalImages = True
            Dim filepath As Uri
            filepath = New Uri(Application.StartupPath & "\Pic02.Jpg")
            Dim Path As ReportParameter
            Path = New ReportParameter("Path", filepath.AbsolutePath)
            Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter() {Path})
            ReportViewer1.LocalReport.Refresh()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

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

اخي الكريم لقد فهمت قصدك من التعليق الماضي

وانا احاول الان بعمل بمثال على ذلك

بالتوفيق

تم تعديل هذه المشاركة بواسطة عبدالرحمن المرشود في 14 يناير 2011 في 22:48

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#11

اشكرك على تعاونك اخي عبدالرحمن

#12

السلام عليكم

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

اما Embedded

او External

بالنسبة لل(External) فهي تعتمد على المواقع يعني الانترنت لانني طيلت بحثي كل المواضيع تتحدث عن هذه الطريقة ولكن في النهاية

ينتهي الامر بالمواقع

اما الطريقة الاولى لقد تم شحها بالاعلى

لذلك انا اعتذر منك واوعدك اذا وجدت جواب سوف احدثك عنه باسرع وقت

بالتوفيق

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#13

اشكرك اخي انا كذالك بحثت ووجدت نفس الشي يكون على سرفر

اشكرك انا خليتها بطريقة اخري عن طريق Printdailog

#14

أخي

بعد البحث المضني وجدت طريقة

Handling Images

You may need additional tweaks to migrate a server report to a local report. For example, if the server report uses an external image located in the same folder of the report catalog, you may need to re-adjust the image path. As it stands, the Report Viewer won't attempt to load the image from the current application directory by default. As a workaround, you should use the file:// protocol to load external images. Embedding the image path in the report definition is something you will probably want to avoid. For this reason, the Customer Orders.rdlc report contains a simple VB.NET embedded function which returns the application path.

Public Function GetAppPath() As String
      Return System.IO.Directory.GetCurrentDirectory
   End Function

Using this function, here's how you can set up the Value property of the logo image to point to the external AWC.jpg file.

 =String.Format("file:///{0}\{1}", Code.GetAppPath(), 
      "AWC.jpg")

You won't see the image at design time but it should appear when the report is run. Of course, another approach to get away the external images limitation in local mode is to convert all external images to embedded images that are saved in the report definition.

When you are done authoring the report, you can remove the report definition file from the project. Upon deployment, the application setup program could copy the report definition to a known location where the Report Viewer can find it.

Here's a useful tip: To automate copying the local report definition to the application runtime folder at design time, you can define a post-build event in the Build Events tab of the project properties.

هذه الطريقة ناجحه جداً

وهي مفيده في حالة استدعا ءالتقارير من السيرفر أيضاً

#15

بعد التحية ارجو وضغ مثال للفائدة للجميع

 

وشكرآ علي المساعدة الاخرين

تم تعديل هذه المشاركة بواسطة hajriss في 28 يوليو 2013 في 22:03

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