Foxtable(狐表)用户栏目专家坐堂 → [求助]统计字符数量


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

主题:[求助]统计字符数量

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/1 18:52:00 [显示全部帖子]

以下是引用q2520在2018/3/31 18:49:00的发言:
我说的是格式  不是00:00    我第一张图那不标的很清楚    8:50   我想显示8小时50分   

 

参考

 

http://www.foxtable.com/webhelp/scr/2262.htm

 

http://www.foxtable.com/webhelp/scr/0362.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/1 22:48:00 [显示全部帖子]

drawcell事件,编写代码

 

If e.col.name = "计时" Then

    e.Text = val(e.text) \ 3600 & "时" & (val(e.text) mod 3600) \ 60

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/1 23:28:00 [显示全部帖子]


Select Case e.DataCol.name
    Case "入井时间","升井时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("入井时间") Or dr.IsNull("升井时间") Then
            dr("计时") = Nothing
        Else
            Dim tp As TimeSpan
            If dr("升井时间") > dr("入井时间")
                tp = dr("升井时间") - dr("入井时间")
            Else
                tp = cdate(dr("升井时间")).adddays(1) - cdate(dr("入井时间"))
                dr("计时") = tp.TotalSeconds()   '真正的时段型数据要转换为秒数,才能存入时段列
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 8:43:00 [显示全部帖子]

datacolchanged事件

 

Dim dic As new Dictionary(of String, Integer)
For Each r As DataRow In e.DataTable.DataRows
    For Each c As DataCol In e.DataTable.DataCols
        If r.Isnull(c.name) = False Then
            If dic.ContainsKey(r(c.name)) = False Then
                dic.Add(r(c.name), 1)
            Else
                dic(r(c.name)) += 1
            End If
        End If
    Next
Next
For Each key As String In dic.Keys
    Dim fdr As DataRow = DataTables("表B").find("第一列 = '" & key & "'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").addnew
        fdr("第一列") = key
    End If
    fdr("第三列") = dic(key)
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 12:29:00 [显示全部帖子]

Dim dic As new Dictionary(of String, Integer)
For Each r As DataRow In e.DataTable.DataRows
    For Each cname As String in "第一列,第二列,第三列".split(",")
        If r.Isnull(cname) = False Then
            If dic.ContainsKey(r(cname)) = False Then
                dic.Add(r(cname), 1)
            Else
                dic(r(cname)) += 1
            End If
        End If
    Next
Next
For Each key As String In dic.Keys
    Dim fdr As DataRow = DataTables("表B").find("第一列 = '" & key & "'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").addnew
        fdr("第一列") = key
    End If
    fdr("第三列") = dic(key)
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 14:34:00 [显示全部帖子]

清空datacolchanged事件,项目属性maintablechanged事件写代码

 

Dim dic As new Dictionary(of String, Integer)
For Each r As DataRow In e.DataTable.DataRows
    For Each cname As String In "第一列,第二列,第三列".split(",")
        If r.Isnull(cname) = False Then
            If dic.ContainsKey(r(cname)) = False Then
                dic.Add(r(cname), 1)
            Else
                dic(r(cname)) += 1
            End If
        End If
    Next
Next
For Each key As String In dic.Keys
    Dim fdr As DataRow = DataTables("表B").find("第一列 = '" & key & "'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").addnew
        fdr("第一列") = key
    End If
    fdr("第三列") = dic(key)
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 12:31:00 [显示全部帖子]

Dim dic As new Dictionary(of String, Integer)
For Each r As DataRow In  DataTables("表a").DataRows
    For Each cname As String In "第一列,第二列,第三列".split(",")
        If r.Isnull(cname) = False Then
            If dic.ContainsKey(r(cname)) = False Then
                dic.Add(r(cname), 1)
            Else
                dic(r(cname)) += 1
            End If
        End If
    Next
Next
For Each key As String In dic.Keys
    Dim fdr As DataRow = DataTables("表B").find("第一列 = '" & key & "'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").addnew
        fdr("第一列") = key
    End If
    fdr("第三列") = dic(key)
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 14:36:00 [显示全部帖子]

改成

 

Dim dic As new Dictionary(of String, Integer)
For Each r As Row In  Tables("表a").Rows
    For Each cname As String In "第一列,第二列,第三列".split(",")
        If r.Isnull(cname) = False Then
            If dic.ContainsKey(r(cname)) = False Then
                dic.Add(r(cname), 1)
            Else
                dic(r(cname)) += 1
            End If
        End If
    Next
Next
DataTables("表B").DataRows.clear
For Each key As String In dic.Keys
    Dim fdr As DataRow = DataTables("表B").find("第一列 = '" & key & "'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").addnew
        fdr("第一列") = key
    End If
    fdr("第三列") = dic(key)
Next


 回到顶部