以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  重置列不执行代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148331)

--  作者:lpp121
--  发布时间:2020/4/5 16:08:00
--  重置列不执行代码

老师,你好!

 

1)我在表的DataColChanged事件中设置如下代码,要根据今天的日期动态算出来天数,但是只有第一次登记时候计算,而且设置重置列不行,强制重置列DataTables("订单录入").DataCols("距客户交货期").RaiseDataColChanged() 也不行

我要每次打开表就动态显示,为什么代码不执行?

 

Select Case e.DataCol.Name
    Case "交货状态","客户复期"
        If e.DataRow("交货状态") = "已交货" OrElse e.DataRow.IsNull("客户复期") Then
            e.DataRow("距客户交货期") = Nothing
        Else
            e.DataRow("距客户交货期") =(CDate(e.DataRow("客户复期"))-Date.Today).TotalDays
        End If
End Select

 

2)类似的问题,只有我重新填写“客户复期" 或“实际发货客户日期" 然后重置才可以显示,而不是打开表格就可以执行如下代码

Select Case e.DataCol.Name
    Case "客户复期","实际发货客户日期"
        If e.DataRow.IsNull("客户复期") OrElse e.DataRow.IsNull("实际发货客户日期") Then
            e.DataRow("客户拖期") = Nothing
        Else
            If e.DataRow("实际发货客户日期") > e.DataRow("客户复期") Then
                e.DataRow("客户拖期") = "拖期"
            End If
        End If
End Select

 

3)列如何区分空格和0,我想设计内容为0的显示条件,但是空各也默认为0


--  作者:有点蓝
--  发布时间:2020/4/5 22:23:00
--  
1/2、要选中case里的列重置:
DataTables("订单录入").DataCols("客户复期").RaiseDataColChanged() 

3、空值使用IsNull判断