以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]date列 问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117644)

--  作者:81538475
--  发布时间:2018/4/16 18:52:00
--  [求助]date列 问题

当 任务开始 列不为空时,结束时间列 等于 XMZB 的 JS列  如何写呀,这一点没有弄清楚。

麻烦帮忙看看改如何改。这几列都是date 列

 

Se lect Case e.DataCol.Name
    Case "任务开始"
        If e.DataRow("任务开始") IsNot Nothing Then
         e.DataRow("结束时间") = DataTables("XMZB").DataCols("JS")
        End If
End S  e lect


--  作者:有点蓝
--  发布时间:2018/4/16 20:16:00
--  
Select Case e.DataCol.Name
    Case "任务开始"
        If e.DataRow.Isnull("任务开始") IsNot Nothing Then
            e.DataRow("结束时间") = Nothing
        Else
            Dim dr As DataRow
            dr = DataTables("XMZB").Find("[关联列,如任务ID之类] = \'" & DataRow("关联列,如任务ID之类") & "\'")
            If dr IsNot Nothing Then 
                e.DataRow("结束时间") = dr("")
            End If
        End If
End Select


--  作者:81538475
--  发布时间:2018/4/17 13:15:00
--  
多谢了。。接着问一下,要是希望单元格的 e.style 也跟 被引用数据列的那个表的单元格一样,代码应该怎么写呢。。我尝试写在drawcell里面,但是不知道如何加。
--  作者:有点甜
--  发布时间:2018/4/17 14:39:00
--  

拷贝drawcell事件代码到表里面即可。或者根据逻辑编写代码。

 

具体请上传实例测试。


--  作者:81538475
--  发布时间:2018/4/17 16:18:00
--  
主要是如何在drawcell 中引用其他表的逻辑了呢。

主表的drawcell是这样的,直接复制行不通呀
If e.Row("已通过") = True Then
    e.style = Nothing
ElseIf e.Col.Name = "js" Then
    If e.Row.IsNull("js") = False
        Dim d1 As Date=e.Row("js")
        Dim tp As TimeSpan = d1 - Date.Today
        If tp.TotalDays >= 0 AndAlso tp.TotalDays <= 3 Then
            e.Style = "到期提醒"
        ElseIf tp.TotalDays <0 Then
            e.Style = "延期提醒"
        Else  e.Style = Nothing
            
        End If
    End If
End If
[此贴子已经被作者于2018/4/17 16:21:03编辑过]

--  作者:有点甜
--  发布时间:2018/4/17 16:27:00
--  

你要把js等列的值也引用过去,才行。

 

不会做上传具体项目测试。