منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تغيير لون صف في DataGridView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
ارجوا مساعدتي قمت بعمل برنامج يعتمد على التواريخ اريد كود يقوم بتغيير خلفيه كل السجلات في DataGridView التي  تبقى لها مثلا 20 يوم الى اللون الاحمر

وشكرا لكم
السلام عليكم

هذا كود تغيير الالوان عليكى وضع الشرط المناسب لتغيير اللون
اتمنى ان اكون قد افدتك
كود :
For i = 0 To DataGridView1.Rows.Count - 1
If DataGridView1.Rows(i).Cells(0).Value = 6 Then
               DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red
           End If
Next
اذا كنتى لا تعرفين الشرط المناسب اخبرينى هل تحتفظين بالبيانات على هيئة تاريخ ام ماذا لكى استطيع ان اضع لكى الشرط المناسب
شكرا اخي على ردك
لا اعرف كيف الشرط واذا امكن كيف عملها بالطريقتين هيئه نص وهئيه تاريخ

للتوضيح اكتر لما اريد
انا عندي برنامج يعتمد على قاعدة بيانات اكسس حيث يظهر البيانات في DataGridView اريد عندما يتبقى لاتنتهاء التاريخ مثلا ايام معينه ان يتغير لون الصف في DataGridView الى لون احمر
جرب هذا الكود
PHP كود :
For As Integer 0 To Datagridview1.Rows.Count 1
        For ColNo 
As Integer 4 To 7
            If Datagridview1
.Rows(i).Cells(ColNo).Value 20 Then

                Datagridview1
.Rows(i).Cells(ColNo).Style.BackColor Color.Red
            End 
If
 
       Next
    Next 
اين اضع الكود في اي حدث؟؟

واذا يجب تغيير اي شي بالكود ليناسب مع برنامج فما هو
اثناء تحميل الداتا جريد بالبيانات
قمت بارفاق مثال على البرنامج ارجو التعديل عليه لكي تتضح اليه عمل الكود 
وكما اسلفت سابقه الاعتماد على التاريخ
PHP كود :
 Private Sub Loadgrid()

 
       'اسناد جمله الاستعلام ومصدر الاتصال  الي كائن الامر 
        Cmd.Connection = Cn
        Cmd.CommandType = CommandType.Text ' 
لو لم تكتب هذا السطر فهي الافتراضي 
        Cmd
.CommandText "SELECT * FROM employees order by Emp_code "

 
       Cn.Open() ' فتح الاتصال 
        '
حذف البيانات القديمه من الداتا تيبل 
        dt
.Clear()
 
       ' تحميل السجلات العائده من الاستعلام في الداتا تيبل
        dt.Load(Cmd.ExecuteReader)
        ' 
ربط مصدر البيانات للدات جريد
        DataGridView1
.DataSource dt


        For i 
0 To DataGridView1.Rows.Count 1
            If CDate
(DataGridView1.Rows(i).Cells(2).Value) <= Now.AddDays(20Then
                DataGridView1
.Rows(i).DefaultCellStyle.BackColor Color.Red
                DataGridView1
.Rows(i).DefaultCellStyle.SelectionBackColor Color.Red
            End 
If
 
       Next


        Cn
.Close() ' غلق الاتصال 


        ' 
كود التحكم في عرض الخلايا 
        DataGridView1
.Columns(0).Width 150
        DataGridView1
.Columns(2).Width 150


        
' الكود التالي لتوسيط الأعمدة
        DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter



        '
تحديد السطر بالكامل وليس خليه واحده
        DataGridView1
.SelectionMode DataGridViewSelectionMode.FullRowSelect

        
' تغير اسامي العناوين للهيدر
        DataGridView1.Columns(0).HeaderText = "الكود"
        DataGridView1.Columns(1).HeaderText = "الاسم"
        DataGridView1.Columns(2).HeaderText = "التاريخ"
        ' 
توسيط الهيدر 
        DataGridView1
.ColumnHeadersDefaultCellStyle.Alignment DataGridViewContentAlignment.MiddleCenter

        
' كود جعل ثاني خليه  'الاسم' تأخذ باقي عرض الداتا جريد
        DataGridView1.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        ' 
تلوين سطر وسطر 
        DataGridView1
.AlternatingRowsDefaultCellStyle.BackColor Color.LightGray

        rowSelection
()
 
   End Sub 
اشكركم جميعا على المساعده
وهذا ما اريده
لدي استفسار لو ممكن شرح الكود
واذا اريد نقل الكود على مشروع اخر ما الذي يجب تغييره في الكود ليتناسب مع المشروع الجديد
السلام عليكم

هذا مثال صنعتة يعمل اذا كان العمود الاول من نوع تاريخ كما بالصورة
و اتمنى ان يفيدك المثال
[attachment=9187]
[attachment=9188]
الصفحات : 1 2