以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  看了半天也不知道问题出在哪儿了,操作表格时总是自动关闭系统!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97715)

--  作者:xhydxs
--  发布时间:2017/3/17 11:01:00
--  看了半天也不知道问题出在哪儿了,操作表格时总是自动关闭系统!
If e.DataRow("现有教龄年限") < 5 Then
    e.DataRow("应享受教龄津贴") = 0
ElseIf e.DataRow("现有教龄年限") > = 5 And e.DataRow("现有教龄年限") < = 9 Then
    e.DataRow("应享受教龄津贴") = 3
ElseIf e.DataRow("现有教龄年限") > = 10 And e.DataRow("现有教龄年限") < = 14 Then
    e.DataRow("应享受教龄津贴") = 5
ElseIf e.DataRow("现有教龄年限") > = 15 And e.DataRow("现有教龄年限") < = 19 Then
    e.DataRow("应享受教龄津贴") = 7
ElseIf e.DataRow("现有教龄年限") > = 20 Then
    e.DataRow("应享受教龄津贴") = 10
Else
    e.DataRow("应享受教龄津贴") = 0
End If

--  作者:wyz20130512
--  发布时间:2017/3/17 11:05:00
--  
是什么事件的代码?
--  作者:xhydxs
--  发布时间:2017/3/17 11:06:00
--  
DataColChanged事件
--  作者:狐狸爸爸
--  发布时间:2017/3/17 11:10:00
--  
死循环了,直接说一下要实现的目的吧
--  作者:xhydxs
--  发布时间:2017/3/17 11:22:00
--  

我想要实现:


--  作者:xhydxs
--  发布时间:2017/3/17 11:26:00
--  
当任教年限小于5年时,教龄为0元;当任教年限大于等于5年而小于等于9年时,教龄为3元;当任教年限大于等于10而小于等于14年时,教龄为5元;当任教年限大于等于15而小于等于19年时,教龄为7元;当任教年限大于等于20年时,教龄为10元。
--  作者:有点色
--  发布时间:2017/3/17 11:35:00
--  

加上列名判断

 

If e.DataCol.name = "现有教龄年限" Then
    If e.DataRow("现有教龄年限") < 5 Then
        e.DataRow("应享受教龄津贴") = 0
    ElseIf e.DataRow("现有教龄年限") > = 5 And e.DataRow("现有教龄年限") < = 9 Then
        e.DataRow("应享受教龄津贴") = 3
    ElseIf e.DataRow("现有教龄年限") > = 10 And e.DataRow("现有教龄年限") < = 14 Then
        e.DataRow("应享受教龄津贴") = 5
    ElseIf e.DataRow("现有教龄年限") > = 15 And e.DataRow("现有教龄年限") < = 19 Then
        e.DataRow("应享受教龄津贴") = 7
    ElseIf e.DataRow("现有教龄年限") > = 20 Then
        e.DataRow("应享受教龄津贴") = 10
    Else
        e.DataRow("应享受教龄津贴") = 0
    End If
End If


--  作者:有点色
--  发布时间:2017/3/17 11:35:00
--  
其余的datacolchanged事件代码,记得也要加上列名的判断。
--  作者:xhydxs
--  发布时间:2017/3/17 11:44:00
--  

怎么不出数据?


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

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


--  作者:有点色
--  发布时间:2017/3/17 12:02:00
--  

Select e.DataCol.Name

    Case "当前月", "任教月", "当前年", "任教年"
    If e.DataRow("现有教龄年限") < 5 Then
        e.DataRow("应享受教龄津贴") = 0
    ElseIf e.DataRow("现有教龄年限") > = 5 And e.DataRow("现有教龄年限") < = 9 Then
        e.DataRow("应享受教龄津贴") = 3
    ElseIf e.DataRow("现有教龄年限") > = 10 And e.DataRow("现有教龄年限") < = 14 Then
        e.DataRow("应享受教龄津贴") = 5
    ElseIf e.DataRow("现有教龄年限") > = 15 And e.DataRow("现有教龄年限") < = 19 Then
        e.DataRow("应享受教龄津贴") = 7
    ElseIf e.DataRow("现有教龄年限") > = 20 Then
        e.DataRow("应享受教龄津贴") = 10
    Else
        e.DataRow("应享受教龄津贴") = 0
    End If
End Select

 

表达式列,不触发dataColChanged事件 http://www.foxtable.com/webhelp/scr/2381.htm