以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]老师要在有分页的数据表里的日期列  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148402)

--  作者:和谐
--  发布时间:2020/4/7 12:39:00
--  [求助]老师要在有分页的数据表里的日期列
老师要在有分页的数据表里的日期列里:以当前日期时间填入后每行减一天或一个小时这样快速填充日期列, 代码怎么写呢?
For Each fr As DataRow  In DataTables("地区表").DataRows
    fr("日期") = Date.Now

Next
这只能在当前分页填写日期时间,但是每个都是一样的日期时间,就是想要第一个是当前日期时间从第二个开始就减一天的写法,还有减一小时的写法,请老师明示

--  作者:有点蓝
--  发布时间:2020/4/7 13:38:00
--  
dim d as date = Date.today
For Each fr As DataRow  In DataTables("地区表").DataRows
    fr("日期") = d
d = d.adddays(-1)
Next

--  作者:和谐
--  发布时间:2020/4/7 14:38:00
--  
老师是要地区表的所有数据好像后台筛选一样在日期列全部按照代码全部填写好,不是只填写当前分页而已
[此贴子已经被作者于2020/4/7 14:38:24编辑过]

--  作者:有点蓝
--  发布时间:2020/4/7 15:45:00
--  
这个需要加载所有数据
--  作者:和谐
--  发布时间:2020/4/7 16:42:00
--  
那可以编写成SQL语句来做这个事情呢?老师,这样数据量大的话返回所有数据太慢了
--  作者:有点蓝
--  发布时间:2020/4/7 16:52:00
--  
百度学一下存储过程、游标。

游标就相当于代码里面的循环

--  作者:和谐
--  发布时间:2020/4/14 16:10:00
--  
老师之前的填充发现有问题就是日期要从最后一行往上循环填充到第一行才可以倒序显示表的内容代码需要怎么改呢?

Dim d As Date = Date.now  
\'Dim d As  String
Dim i As Integer
Dim v As Integer = DataTables("地区表").TotalPages  
        For i = 1 To v  
                For Each fr As DataRow  In DataTables("地区表").DataRows  
                     fr("日期") = d 
                     d = d.AddHours(-1) 
                Next
           With DataTables("地区表") 
                                    .LoadPage = .LoadPage + 1 
                                    .Load()  
           End With
        Next  
这只能从第一页第一行开始填充日期时间到最后一页,我要改成从最后一页最后一行一直填充到第一页第一行,倒着填充日期时间,这样才可以用日期列倒序显示正常

--  作者:有点蓝
--  发布时间:2020/4/14 17:16:00
--  
Dim d As Date = Date.now
\'Dim d As  String
Dim i As Integer
Dim v As Integer = DataTables("地区表").TotalPages
Dim fr As DataRow
For i = v To 1 Step -1
    For j As Integer = DataTables("地区表").DataRows.Count - 1 To 0 Step -1
        fr= DataTables("地区表").DataRows(j)
        fr("日期") = d
        d = d.AddHours(-1)
    Next
    With DataTables("地区表")
        .LoadPage = v - 1
        .Load()
    End With
Next