![]() |
|
[VB.NET] مشكلة في تغيير لون خلفية الخلية في ال Datagridview - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] مشكلة في تغيير لون خلفية الخلية في ال Datagridview (/showthread.php?tid=18729) الصفحات:
1
2
|
مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 08-01-17 السلام عليكم ورحمة الله وبركاته اولا اشكر جميع القائمين على هذا المنتدى الرائع على جهودهم المبذولة من اجل اثراء المحتوى العربي نأتي الى المشكلة ساقوم بعرض مثال مبسط في الصورة رقم 1 في المرفقات يظهر فورم به 3 عناصر كامبوبوكس لادخال القيم و زر لإضافة القيم الى جدول و Datagridview لعرض الجدول قمت بكتابة هذا الكود من اجل تحديد لون الخلية المضافة في العمود الثاني حيث يكون لونها ابيض اذا كانت فارغة و احمر اذا كانت تحتوي قيمة كما يظهر في الصورة رقم 2 Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded Dim ccc As Integer For ccc = 0 To DataGridView1.Rows.Count - 1 If DataGridView1.Rows(ccc).Cells(1).Value.ToString <> "" Then DataGridView1.Rows(ccc).Cells(1).Style.BackColor = Color.Red End If Next End Sub بعدها كتبت كود اخر لتغيير لون الخلفية للأخضر اذا تم الضغط عليها مرتين كما في الصورة 3 Private Sub DataGridView1_CellMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick DataGridView1.CurrentCell.Style.BackColor = Color.Green End Sub الى هنا كل شيء تمام.... المشكلة تبدأ عن اضافة سطر جديد حيث يختفي اللون الاخضر و يعود كل شيء كما كان هذا ما تظهره الصورة رقم 4 اللون الأخضر يختفي عند اضافة السطر الذي يحتوي على القيمة 333 المطلوب هو طريقة للإبقاء على اللون الأخضر بعد اضافة السطر الجديد ملاحظة : جربت العمل بالاحداث cellformating, cellpainting, rowprepaint من اجل جعل الخلية المضافة باللون الاحمر اذا كانت بها قيمة لكن المشكلة هي انني لا استطيع تغيير لونها بعد ذلك بكل الطرق!!! في انتظار ردودكم RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - مساعدة - 08-01-17 السلام عليكم سبب اختفاء اللون الاخضر و يعود كل شيء عند إضافة سطر جديد هو أنك عامل حلقة For تمر على الأسطر من بدايتها إلى نهايتها فهنا سوف يعيد الالوان حسب الشرط الموجود هذا تصحيح للكود كود : Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAddedتم إضافة كود لاظهار السطر الجديد المضاف في الواجهة، ترى تأثيره إذا كانت الأسطر كثيرة تجاوزت الأسطر الظاهرة في الأداة RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 08-01-17 الف شكر اخي مساعدة على المساعدة سيتم التجريب و الرد لاني اتصل الان عبر الهاتف RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 08-01-17 السلام عليكم قمت بتجريب الكود اخي الكريم لكن للاسف لم يعمل... فوق هذا لم تعد الخلايا تتلون بالاحمر اساسا هههه لذلك ارفقت سليوشن المشروع بالكود خاصتك وقمت بجعل الكود القديم كومنت RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - مساعدة - 08-01-17 مشروعك لم يعمل لدي لاختلاف الاصدار الكود السابق كان على اساس لا يوجد قاعدة بيانات بعد الاطلاع على أكواد المشروع تفضل الكود كود : Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clickملاحظة في هذا الكود لن يتم الاحتفاظ على الخلايا التي تم تحديدها باللون الأخضر RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 08-01-17 الف شكر اخي يعني بقيت نفس المشكلة ![]() الظاهر لا يوجد حل لهذه المعضلة من الافضل ان ابحث عن طريقة اخرى لاتمام المشروع RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - مساعدة - 08-01-17 إذا أردت الاحتفاظ باللون الاخضر لابد من إضافة عمود يشير لذلك في قاعدة البيانات RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 08-01-17 لم افهم قصدك اخي ... يمكن توضح اكثر؟ RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - مساعدة - 09-01-17 أضف عمود في قاعدة البيانات وليكن اسمه Green من نوع bit في ملف الداتاسيت اضف عمود جديد اسمه مطابق لما أضفته لقاعدة البيانات وهو Green ونوع بياناته Boolean اضف كويري كما فعلت في اضافة InsertQuery ولكن هنا تختار UpdateQuery وتضع هذا النص فيه كود : UPDATE [dbo].[Expats] SET [Green] = @Green WHERE (([Id] = @Original_Id);وفي كود الفورم هذه التعديلات كود : Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Loadتم تصحيح كود الفورم RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - Joe kad - 09-01-17 الف شكر اخي العزيز على الشرح و سابدا العمل بنصيحتك ان شاء الله |