Foxtable(狐表)用户栏目专家坐堂 → 改后的代码,求帮忙看下,有没有什么问题,谢谢!


  共有2159人关注过本帖平板打印复制链接

主题:改后的代码,求帮忙看下,有没有什么问题,谢谢!

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
改后的代码,求帮忙看下,有没有什么问题,谢谢!  发帖心情 Post By:2019/7/27 11:04:00 [只看该作者]

1、AfterOpenProject中,加入代码:

DataTables("客户表").datacols("客户").RaiseDataColChanged()


2、客户表的表属性DataColChanged,加入代码:

e.DataRow("用户名") = user.name


If e.DataCol.Name = "客户" Then

    e.DataRow("日志时间") = Date.Now

End If


Dim d As Date = Date.Now

DataTables("客户表").ReplaceFor("日志", True, "日志时间 <= #" & d.AddMinutes(-10) & "#")

DataTables("客户表").ReplaceFor("日志", False, "日志时间 > #" & d.AddMinutes(-10) & "#")


'没做天数:

If e.DataCol.name = "客户" Then

    If e.DataRow.IsNull("客户")  Then

            e.DataRow("没做天数") = Nothing        

    Else

        Dim fdr = DataTables("入库表").find("客户='" & e.DataRow("客户") & "' and 入库日期 <= #" & Date.now & "#", "入库日期 desc")

        If fdr Is Nothing Then

            e.DataRow("没做天数") = -1

        Else

            Dim sp As TimeSpan = Date.now - cdate(fdr("入库日期"))

            e.DataRow("没做天数") = sp.TotalDays

        End If

    End If

End If


结果导致重复重算,拖慢运行速度。


现该代码为:


1、控件按钮的单击事件:

DataTables("客户表").datacols("客户").RaiseDataColChanged()


2、客户表的表属性DataColChanged,加入代码:

'没做天数:

If e.DataCol.name = "客户" Then

    If e.DataRow.IsNull("客户")  Then

        e.DataRow("没做天数") = Nothing

    Else

        Dim fdr = DataTables("入库表").find("客户='" & e.DataRow("客户") & "' and 入库日期 <= #" & Date.now & "#", "入库日期 desc")

        If fdr Is Nothing Then

            e.DataRow("没做天数") = -1

        Else

            Dim sp As TimeSpan = Date.now - cdate(fdr("入库日期"))

            e.DataRow("没做天数") = sp.TotalDays

        End If

    End If

End If


If e.DataCol.Name = "用户名"

    e.DataRow("用户名") = user.name

End If


Select Case e.DataCol.Name

    Case "客户","日志时间"

        If e.DataCol.Name = "客户" Then

            e.DataRow("日志时间") = Date.Now

        End If

End Select


Dim d As Date = Date.Now

Select Case e.DataCol.Name

    Case "日志","日志时间"

        DataTables("客户表").ReplaceFor("日志", True, "日志时间 <= #" & d.AddMinutes(-10) & "#")

        DataTables("客户表").ReplaceFor("日志", False, "日志时间 > #" & d.AddMinutes(-10) & "#")

End Select


问题:

1、改后,每次点击该控件按钮重置列后,在项目中,每点选一行,该行左侧的序号都会变橘红色,直至项目保存数据才能恢复正常,求解决?

2、改后的代码,求帮忙看下,有没有什么问题,谢谢!


 回到顶部