الشكر لله والحمد لله
والحمد لله على كل حال
بطبيعة الحال عند عرض الاستعلام فى الداتا جريد
سيعرض اسم / مسار الصورة بدلاً من الصورة نفسها
لذلك ستحتاج الى عمل كود بعد تعبئة الداتا جريد بالاستعلام
والكود عبارة عن 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)
حيث ان كل ما يقوم به هو جلب اسم / مسار الصورة كما فى قاعدة البيانات
فمثلاً اذا كان القيمة هي
فكل ما فى الامر انك محتاج وضع مسار البرنامج مع مجلد الصور الرئيسي
ولاتمام ذلك سيكون بحاجة لوضع كمثال
كود :
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
الى هنا يتم انهاء الشرح مع الكود
اتمنى يكون الشرح بسيط وبدون اى متاهة
احببت ان اشرح ووضع الكود بدلاً من عمل مثال
حتى يتاح لك التعود والتعلم من الامر وحيث ان الرد السابق يحتوى على فكرة الامر ايضاً
تحياتى لك
وتمنياتى لك التوفيق