根据日期更改datagridview颜色 [英] Change the datagridview colour based on date

查看:124
本文介绍了根据日期更改datagridview颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个datagridview显示来自数据库的数据(MS Access)



datagridview正确显示数据。



现在我想将dgvReminder的行的颜色更改为黄色,如果当前日期不到2天的Date_Of_Pickup。



Date_Of_Pickup为此格式= 2013年12月19日



到目前为止,我已经测试了这个代码: -

  Private Sub Home_Load(发件人作为对象,作为EventArgs)处理MyBase.Load 
对于i As Integer = 0到dgvReminder.Rows.Count - 1
如果dgvReminder.Rows(i).Cells(Quantity)。Value< 2然后
dgvReminder.Rows(i).Cells(2).Style.BackColor = Color.Yellow
End If
Next
End Sub

整数数值栏的值小于2转为黄色



但我如何使用Date_Of_Pickup列执行此操作?

解决方案

我做了这个,它的工作原理,我刚刚检查是否记录已经过期或将在正在进行的一个月内到期。您可以根据需要更改日期间隔。我使用Data GridView的DataBinding Complete事件

  Private Sub grdMembersInfo_DataBindingComplete(sender As System.Object,e As System.Windows.Forms。 DataGridViewBindingCompleteEventArgs)处理grdMembersInfo.DataBindingComplete 
对于i = 0要grdMembersInfo.Rows.Count - 1
Dim expDate As Date = grdMembersInfo.Rows(i).Cells(iCardExpiryDate)。值
如果DateDiff(DateInterval.Month,Date.Now,expDate)< = 0然后
grdMembersInfo.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
Else
grdMembersInfo.Rows(i ).DefaultCellStyle.BackColor = Color.LightGreen
结束如果
下一个
End Sub


i got a datagridview which displays data from database(MS Access)

the datagridview display the data correctly..

now i want to change the colour of the dgvReminder's row to yellow if current date is less than 2 days to the Date_Of_Pickup.

Date_Of_Pickup is in this format = 19-Dec-2013

So far i have test this code :-

Private Sub Home_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For i As Integer = 0 To dgvReminder.Rows.Count - 1
            If dgvReminder.Rows(i).Cells("Quantity").Value < 2 Then
                dgvReminder.Rows(i).Cells(2).Style.BackColor = Color.Yellow
            End If
        Next
End Sub

The whole Quantity column which has value less than 2 turn to yellow

but how can i do this with the Date_Of_Pickup column??

解决方案

I did this one and it works , I just checked if the record is expired or about to expire within ongoing month. you can just change the date interval as your need. I used DataBinding Complete event of Data GridView

Private Sub grdMembersInfo_DataBindingComplete(sender As System.Object, e As System.Windows.Forms.DataGridViewBindingCompleteEventArgs) Handles grdMembersInfo.DataBindingComplete
    For i = 0 To grdMembersInfo.Rows.Count - 1
        Dim expDate As Date = grdMembersInfo.Rows(i).Cells("iCardExpiryDate").Value
        If DateDiff(DateInterval.Month, Date.Now, expDate) <= 0 Then
            grdMembersInfo.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
        Else
            grdMembersInfo.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
        End If
    Next
End Sub

这篇关于根据日期更改datagridview颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆