Foxtable(狐表)用户栏目专家坐堂 → 重置列更新。


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

主题:重置列更新。

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5409 威望:0 精华:0 注册:2009/2/5 13:09:00
重置列更新。  发帖心情 Post By:2018/10/30 19:14:00 [只看该作者]

Select Case e.DataCol.Name
    Case "次数","截止日期","交单","确定","工号"
        Dim Filter As String = "[编号] = '" & e.DataRow("编号") & "'"
        DataTables("客户资料").DataCols("编号").RaiseDataColChanged(filter)
End Select

 

这段代码放在派工表事件DataColChanged,能生效。但把派工表在窗口里改为sqltable表后事件DataColChanged也有此代码,不能及时更新。

 

[此贴子已经被作者于2018/10/30 19:25:15编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/30 20:28:00 [只看该作者]

"客户资料"DataColChanged时间里改为从后台获取数据http://www.foxtable.com/webhelp/scr/2897.htm

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5409 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/30 20:52:00 [只看该作者]

Select Case e.DataCol.name
    Case "注意事项","已做次数","剩余次数","总次数","执行日期"
        Dim drs As List(Of DataRow) = DataTables("派工").Select("[编号] = '" & e.DataRow("编号") & "'And 锁定 = False")
        If drs.count = 0 Then
            Dim dr = DataTables("派工").addnew
            dr("注意事项") = e.DataRow("注意事项")
            dr("已做次数") = e.DataRow("已做次数")
            dr("剩余次数") = e.DataRow("剩余次数")
            dr("总次数") = e.DataRow("总次数")
            dr("执行日期") = e.DataRow("执行日期")
        Else
            For Each dr As DataRow In drs
                dr("注意事项") = e.DataRow("注意事项")
                dr("已做次数") = e.DataRow("已做次数")
                dr("剩余次数") = e.DataRow("剩余次数")
                dr("总次数") = e.DataRow("总次数")
                dr("执行日期") = e.DataRow("执行日期")
            Next
        End If
End Select
Select Case e.DataCol.Name
    Case"编号"
        Dim Filter As String = "[编号] = '" & e.DataRow("编号") & "'"
        e.DataRow("已做次数") = DataTables("派工").sqlCompute("Sum(次数)", Filter)
        e.DataRow("已派单数") = DataTables("派工").sqlCompute("Sum(派工数量)", Filter)
End Select
If e.DataCol.Name = "总次数" OrElse e.DataCol.Name = "已做次数" Then
    Dim i As Integer
    i = e.DataRow("总次数") - e.DataRow("已做次数")
    If i < 0 Then
        e.DataRow("剩余次数") = 1*i
    Else
        e.DataRow("剩余次数") = 1*i
    End If
End If

代码那出了问题呢?

 

[此贴子已经被作者于2018/10/30 20:57:22编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/30 21:17:00 [只看该作者]

1楼保存一下

Select Case e.DataCol.Name
    Case "次数","截止日期","交单","确定","工号"
e.datarow.save
        Dim Filter As String = "[编号] = '" & e.DataRow("编号") & "'"
        DataTables("客户资料").DataCols("编号").RaiseDataColChanged(filter)
End Select

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/30 21:19:00 [只看该作者]

从前后的代码来看

Case "次数","截止日期","交单","确定","工号"

应该该为

Case "次数","编号","派工数量"

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5409 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/30 21:20:00 [只看该作者]

还是不行呢?

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/30 21:41:00 [只看该作者]

Select Case e.DataCol.Name
    Case"编号"
        Dim Filter As String = "[编号] = '" & e.DataRow("编号") & "'"
DataTables("派工").save
        e.DataRow("已做次数") = DataTables("派工").sqlCompute("Sum(次数)", Filter)
        e.DataRow("已派单数") = DataTables("派工").sqlCompute("Sum(派工数量)", Filter)
End Select

 回到顶部