26-01-16, 01:27 AM
ارجوا مساعدتي قمت بعمل برنامج يعتمد على التواريخ اريد كود يقوم بتغيير خلفيه كل السجلات في 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
NextFor i 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
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(20) Then
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