以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口改变才执行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107268)

--  作者:yangwenghd
--  发布时间:2017/9/24 19:25:00
--  窗口改变才执行
可以把下面的代码放到窗口的某个事件吗?
如果只有才操作窗口的Table5改变后才执行应该怎么改呀,感谢 感谢 
Select Case e.DataCol.Name
    Case "下周工作计划"
        Dim fdr As DataRow = e.DataTable.Find("附加列 = " & e.DataRow("_Identify"))
    Case "状态"
        If e.DataRow("状态") = "办理中" Then
            e.DataRow("进行_开始日期") = Date.Now
        ElseIf e.DataRow("状态") = "已完成" Then
            e.DataTable.ReplaceFor("进行_完成日期", Date.Now, "事件编号 = \'" & e.DataRow("事件编号") & "\' and 进行_开始日期 is not null")
        End If
End Select
[此贴子已经被作者于2017/9/24 19:25:14编辑过]

--  作者:有点甜
--  发布时间:2017/9/24 20:15:00
--  

判断当前表名

 

msgbox(currentTable.Name)

 

看上面的代码弹出什么,根据弹出的内容加一个if判断


--  作者:yangwenghd
--  发布时间:2017/9/24 20:39:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170924203618.jpg
图片点击可在新窗口打开查看
能帮忙看看吗?
当在窗口改变状态列后执行下面红色代码?感谢 感谢 
Select Case e.DataCol.Name
    Case "下周工作计划"
        Dim fdr As DataRow = e.DataTable.Find("附加列 = " & e.DataRow("_Identify"))
    Case "状态"
        If e.DataRow("状态") = "办理中" Then
            e.DataRow("进行_开始日期") = Date.Now
        ElseIf e.DataRow("状态") = "已完成" Then
            e.DataTable.ReplaceFor("进行_完成日期", Date.Now, "事件编号 = \'" & e.DataRow("事件编号") & "\' and 进行_开始日期 is not null")
        End If
End Select
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口改变状态.table




[此贴子已经被作者于2017/9/24 20:39:00编辑过]

--  作者:有点甜
--  发布时间:2017/9/25 0:24:00
--  
Select Case e.DataCol.Name
    Case "下周工作计划"
        Dim fdr As DataRow = e.DataTable.Find("附加列 = " & e.DataRow("_Identify"))
    Case "状态"
        If CurrentTable.name = "窗口1_Table1" Then
            If e.DataRow("状态") = "办理中" Then
                e.DataRow("进行_开始日期") = Date.Now
            ElseIf e.DataRow("状态") = "已完成" Then
                e.DataTable.ReplaceFor("进行_完成日期", Date.Now, "事件编号 = \'" & e.DataRow("事件编号") & "\' and 进行_开始日期 is not null")
            End If
        End If
End Select

--  作者:yangwenghd
--  发布时间:2017/9/25 19:56:00
--  
感谢 感谢 是放到窗口的textchanged 显示错误呢?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170925195507.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2017/9/25 20:38:00
--  
1楼代码原来所在的事件
--  作者:yangwenghd
--  发布时间:2017/9/25 22:01:00
--  
感谢 感谢 可以了 只是可以加两个表吗?感谢 感谢 

Select Case e.DataCol.Name
    Case "下周工作计划"
        Dim fdr As DataRow = e.DataTable.Find("附加列 = " & e.DataRow("_Identify"))
    Case "状态"
        If CurrentTable.name = "计划表窗口_Table1" And "计划表窗口_Table2"  And "计划表窗口_Table3" Then
            If e.DataRow("状态") = "办理中" Then
                e.DataRow("进行_开始日期") = Date.Now
            ElseIf e.DataRow("状态") = "已完成" Then
                e.DataTable.ReplaceFor("进行_完成日期", Date.Now, "事件编号 = \'" & e.DataRow("事件编号") & "\' and 进行_开始日期 is not null")
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2017/9/25 22:11:00
--  
If CurrentTable.name = "计划表窗口_Table1" And CurrentTable.name = "计划表窗口_Table2"  And ......
--  作者:yangwenghd
--  发布时间:2017/9/25 22:25:00
--  
 是那里不对吗? 改变窗口的状态列,没有执行代码样,感谢 感谢 
Select Case e.DataCol.Name
    Case "下周工作计划"
        Dim fdr As DataRow = e.DataTable.Find("附加列 = " & e.DataRow("_Identify"))
    Case "状态"
        If CurrentTable.name = "计划表窗口_Table1" And CurrentTable.name = "计划表窗口_Table2"  And CurrentTable.name = "计划表窗口_Table3"  Then
            
            If e.DataRow("状态") = "办理中" Then
                e.DataRow("进行_开始日期") = Date.Now
            ElseIf e.DataRow("状态") = "已完成" Then
                e.DataTable.ReplaceFor("进行_完成日期", Date.Now, "事件编号 = \'" & e.DataRow("事件编号") & "\' and 进行_开始日期 is not null")
            End If
        End If
End Select
\'

--  作者:有点蓝
--  发布时间:2017/9/25 22:32:00
--  
If CurrentTable.name = "计划表窗口_Table1" orelse CurrentTable.name = "计划表窗口_Table2"  orelse CurrentTable.name = "计划表窗口_Table3"  Then