我正在尝试从今天的日期开始在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
我做错了什么?
答案 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)
现在,每次迭代将扣除一天。