Foxtable(狐表)用户栏目专家坐堂 → [求助]求好心的大哥大姐为小弟我指点迷津


  共有3545人关注过本帖树形打印复制链接

主题:[求助]求好心的大哥大姐为小弟我指点迷津

帅哥哟,离线,有人找我吗?
minkaia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:432 威望:0 精华:0 注册:2014/4/23 20:53:00
[求助]求好心的大哥大姐为小弟我指点迷津  发帖心情 Post By:2014/4/26 22:00:00 [只看该作者]

         Select Case e.DataCol.Name
    Case "读数时间","读数间隔时间"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        Dim tp1 As New TimeSpan(24,00,00) 

        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
        If dr Is Nothing Then             
            e.DataRow("读数间隔时间") = e.DataRow("读数间隔时间")           
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 
            drs(i)("读数间隔时间") = drs(i)("读数时间") - drs(i-1)("读数时间") + tp1
        Next    
End Select

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140426020150.jpg
图片点击可在新窗口打开查看


如图,我想根据第一个日期的读数时间和第二日期的读数时间求读数间隔小时  我上面代码是直接用上一行读数时间减去下一行读数时间。但可悲的是,代码调用错误,我想知道错在哪里了?还有就是该怎么改正过来,并且我还想知道怎么用 第一个日期的读数时间和第二日期的读数时间求读数间隔小时 ? 求好心人指点我需要设置上面类型的列属性。DataColChanged代码又要怎么写才能达到我要的效果。

                                                                                               不要怪我求知欲太强,哎
                                                                                               他生之时我道未成,我道成之时他已无踪。恨不逢时。


Select Case e.DataCol.Name
    Case "读数时间","读数间隔时间"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        Dim tp2 As New TimeSpan
        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
        If dr Is Nothing Then             
            e.DataRow("读数间隔时间") = e.DataRow("读数间隔时间")           
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 
            drs(i)("读数间隔时间") = drs(i)("读数时间") - drs(i-1)("读数时间") 
            tp2 = drs(i)("读数间隔时间")
           dr("读数间隔时间") = tp2.TotalSeconds() 
        Next    
End Select

                     用以上代码加上把读数时间改为双精度小数拓展类型为时段列后,可以得出读数间隔时间,但会弹出调用的目标发生了异常。 求大神解决小小弟的问题啊,到底要什么样的DataColChanged代码才能实现我想要的这个功能。
         
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


[此贴子已经被作者于2014-4-26 23:29:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
minkaia
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:432 威望:0 精华:0 注册:2014/4/23 20:53:00
  发帖心情 Post By:2014/4/26 22:10:00 [只看该作者]

         难道我这个请求实在太难?     

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24802 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2014/4/26 22:27:00 [只看该作者]

上例子


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/4/26 22:39:00 [只看该作者]

这样试试:

 Select Case e.DataCol.Name

    Case "读数时间","读数间隔时间"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        Dim tp1 As New TimeSpan(24,00,00) 

        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
        If dr Isnot Nothing Then             
            e.DataRow("读数间隔时间") = e.DataRow("读数间隔时间")           
            dr = e.DataRow
            drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
            For i As Integer = 1 To drs.Count - 1 
                drs(i)("读数间隔时间") = drs(i)("读数时间") - drs(i-1)("读数时间") + tp1
            Next  
       End If 
End Select

         


 回到顶部
帅哥哟,离线,有人找我吗?
minkaia
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:432 威望:0 精华:0 注册:2014/4/23 20:53:00
  发帖心情 Post By:2014/4/26 23:10:00 [只看该作者]

不行啊,没有读数时间

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/27 9:38:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:时间间隔计算.table


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/27 11:31:00 [只看该作者]

有点小错,改正:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:时间间隔计算.table

[此贴子已经被作者于2014-4-27 11:31:44编辑过]

 回到顶部