根据从今天起的天数 VB.net 数据网格视图颜色



所以基本上我想得到的是一个出租物业的支付系统。

我已经建立了一个数据库(为了便于工作而访问(,我现在正在寻找一种方法来比较 datagridview 中的日期和今天的日期。如果最后一次付款的日期晚了 30 天,则必须变为红色。如果它<30,它应该保持绿色。

现在我想知道如何做到这一点,因为我似乎无法让它工作。

由于我对 vb.net 语言相当陌生,所以我没有任何东西可以工作。我认为发布任何代码都是无用的,因为它都用红色下划线,我的程序甚至无法运行。

我想这将是某种风格

If me.dgv.columns("1") > 30: me.dgv.row.defaultcellstyle.color = "red" End if

日期以升序排序/显示,不确定这是否有帮助?

任何帮助都将非常有价值,我提前感谢您!

  • 要在 30 天后检查,请使用date.Now.addDays(30)
  • 使用前 30 天检查date.Now.addDays(-30)
  • 要为单元格前景色着色,请使用如下所示的内容:

    For Each dr As DataGridViewRow In DataGridView1.Rows If CDate(dr.Cells(0).Value) > Date.Now.AddDays(30) Then dr.Cells(0).Style.ForeColor = Color.Red End If Next

您还可以循环单元格以检查所有DGV单元格的日期并进行比较

根据我的经验,最好在 RowPrePaint 事件中处理这个问题。

例:

        Public Class Test
            Private Shared Rnd As New Random
            Private Sub FormControls_Load(sender As Object, e As EventArgs) Handles MyBase.Load
                'Start Sample
                DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {
                                          .Name = "MyDate",
                                          .ValueType = GetType(DateTime)})
                For i As Integer = 0 To 1000
                    'create random dates in the past
                    DataGridView1.Rows.Add(Now.AddDays(-Rnd.Next(0, 25)))
                Next
                'End Sample
            End Sub
            Private Sub DataGridView1_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint
                Dim DgvRow As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
                With DgvRow
                    If DgvRow IsNot Nothing AndAlso DgvRow.Cells(0).Value IsNot Nothing AndAlso DgvRow.Cells(0).Value IsNot DBNull.Value Then
                        If Now.Subtract(CDate(DgvRow.Cells(0).Value)).TotalDays > 20 Then
                            DgvRow.DefaultCellStyle.BackColor = Color.Yellow
                        Else
                            DgvRow.DefaultCellStyle.BackColor = Color.Empty
                        End If
                    End If
                End With
            End Sub

        End Class

最新更新