تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد كود عرض الصورة من مسار فى اليست او جريد
#8
الشكر لله والحمد لله 
والحمد لله على كل حال

بطبيعة الحال عند عرض الاستعلام فى الداتا جريد
سيعرض اسم / مسار الصورة بدلاً من الصورة نفسها

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

الكود بعد تعبئة الداتا جريد من كود الاستعلام سيكون كالتالى
كود :
       Dim DGViMage As New DataGridViewImageColumn
       DGViMage.HeaderText = "صورة الصنف"
       DGViMage.ImageLayout = DataGridViewImageCellLayout.Zoom
       DataGridView1.Columns.Add(DGViMage)

       For Each SetCells As DataGridViewRow In DataGridView1.Rows
           SetCells.Height = 50
           SetCells.Cells(DataGridView1.ColumnCount - 1).Value = Image.FromFile(SetCells.Cells(55).Value)
       Next

طبعاً ستقوم بتغيير رقم 55 الى رقم العمود اللى يتحتوى على مسار الصورة

طيب حالياً عند الاختبار لدينا ما يقال عليه مشكلة وهو التالى
1- بان العمود الذى يحتوى على مسار الصورة / اسم الصورة حتى الان موجود
2- العمود الذى تم انشائه لعرض الصورة لا يعرض الصورة ويعطى شكل ×

لاتمام حل كلاً من هذا سيتم التالى

بخصوص البند رقم 1 وهو اخفار هذا العمود كل ما تحتاج اليه هو الكود التالى
كود :
       DataGridView1.Columns(55).Visible = False

كل ما تحتاج اليه فقط تغيير رقم 55 الى رقم العمود لديك
طيب وبخصوص البند رقم 2 وهو ظهور الصورة على شكل ×

يرجع الامر هنا لعدم استكمال المسار فى هذا الجزر من الكود
كود :
Image.FromFile(SetCells.Cells(55).Value)

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

فمثلاً اذا كان القيمة هي
PHP كود :
\name\11.PNG 

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

ولاتمام ذلك سيكون بحاجة لوضع كمثال
كود :
Application.StartupPath & "\IMAGE"

ليصبح شكل السطر بهذا الشكل
كود :
           SetCells.Cells(DataGridView1.ColumnCount - 1).Value = Image.FromFile(Application.StartupPath & "\IMAGE" & SetCells.Cells(55).Value)

الان الكود كاملاً الذى يوضع بعد تعبئة الداتا جريد من كود الاستعلام
كود :
       Dim DGViMage As New DataGridViewImageColumn
       ' اسم راس العمود فى الداتا جريد
       DGViMage.HeaderText = "صورة الصنف"
       DGViMage.ImageLayout = DataGridViewImageCellLayout.Zoom
       DataGridView1.Columns.Add(DGViMage)

       For Each SetCells As DataGridViewRow In DataGridView1.Rows
           ' ارتفاع الخلاية لاتاحة عرض الصورة
           SetCells.Height = 50
           SetCells.Cells(DataGridView1.ColumnCount - 1).Value = Image.FromFile(Application.StartupPath & "\IMAGE" & SetCells.Cells(55).Value)
       Next
       DataGridView1.Columns(55).Visible = False

كل ما هو مطلوب فقط تغيير رقم 55 الى رقم العمود الذى يحتوى على مسار
وكذلك تغيير كلمة IMAGE الى اسم المجلد الرئيسي الذى يحتوى على مجلدات الصور
واخيراً وهام جداً ان تجعل المسار الصورة بقاعدة البيانات يبداء بـ \
بحيث يكون \ بعدها اسم المجلد name بعدها \ ومن ثم اسم الصورة 11.PNG

الى هنا يتم انهاء الشرح مع الكود
اتمنى يكون الشرح بسيط وبدون اى متاهة

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: new_programer , ابو روضة , حريف برمجة


الردود في هذا الموضوع
RE: اريد كود عرض الصورة من مسار فى اليست او جريد - بواسطة elgokr - 21-04-19, 05:51 PM


التنقل السريع :


يقوم بقرائة الموضوع: