gridview上的日期倒计时

时间:2015-06-17 21:56:34

标签: vb.net

我正在尝试从今天的日期开始在gridview上倒计时,因此显示过去60天。

我已经编写了这样的代码,但它不起作用:

Private Sub BindGrid()

    Dim dt As New DataTable
    dt.Columns.Add("Date")
    dt.Columns.Add("TallyCount")
    dt.Columns.Add("AcceptedCount")
    gvTally.DataSource = dt

    Dim dr As DataRow

    Dim DateCount As Integer = 1

    Dim DateNow As Date = DateTime.Today

    For j As Integer = DateCount To 60
        dr = dt.NewRow

        DateNow = DateNow.AddDays(-j)

        dr.Item("Date") = DateNow.ToString("MM/dd/yyyy")
        dr.Item("TallyCount") = 1
        dr.Item("AcceptedCount") = 2

        dt.Rows.Add(dr)


    Next

    gvTally.DataSource = dt
    gvTally.DataBind()

End Sub

该日期将从2015年2月6日开始随机跳转至2015年5月27日。

1   2   06/16/2015
1   2   06/14/2015
1   2   06/11/2015
1   2   06/07/2015
1   2   06/02/2015
1   2   05/27/2015
1   2   05/20/2015
1   2   05/12/2015
1   2   05/03/2015
1   2   04/23/2015
1   2   04/12/2015
1   2   03/31/2015
1   2   03/18/2015
1   2   03/04/2015
1   2   02/17/2015
1   2   02/01/2015

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您正在使用循环。所以检查一下代码:

Dim DateNow As Date = DateTime.Today

For j As Integer = DateCount To 60
    dr = dt.NewRow

    DateNow = DateNow.AddDays(-j)

第一次,它将从今天开始扣除1,下一次从 扣除-2,然后从那里扣除-3 ;在第三次迭代中,它总共扣除了6个(3 + 2 + 1)。将其更改为:

    DateNow = DateNow.AddDays(-1)

现在,每次迭代将扣除一天。