08-01-17, 05:51 AM
السلام عليكم ورحمة الله وبركاته
اولا اشكر جميع القائمين على هذا المنتدى الرائع على جهودهم المبذولة من اجل اثراء المحتوى العربي
نأتي الى المشكلة
ساقوم بعرض مثال مبسط في الصورة رقم 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
من اجل جعل الخلية المضافة باللون الاحمر اذا كانت بها قيمة لكن المشكلة هي
انني لا استطيع تغيير لونها بعد ذلك بكل الطرق!!!
في انتظار ردودكم
اولا اشكر جميع القائمين على هذا المنتدى الرائع على جهودهم المبذولة من اجل اثراء المحتوى العربي
نأتي الى المشكلة
ساقوم بعرض مثال مبسط في الصورة رقم 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
من اجل جعل الخلية المضافة باللون الاحمر اذا كانت بها قيمة لكن المشكلة هي
انني لا استطيع تغيير لونها بعد ذلك بكل الطرق!!!
في انتظار ردودكم