Foxtable(狐表)用户栏目专家坐堂 → 表事件命令 求简化


  共有2226人关注过本帖树形打印复制链接

主题:表事件命令 求简化

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
表事件命令 求简化  发帖心情 Post By:2015/7/18 22:00:00 [只看该作者]

If e.DataCol.Name = "乐理程度" Then
    If e.NewValue Is Nothing Then
        e.DataRow("乐理费") = Nothing
    Else
        Dim dr  As  DataRow
        dr =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("乐理程度") & "'")
        If dr IsNot Nothing Then
            e.DataRow("乐理费") = dr("课时费")
        End If
    End If
End If

If e.DataCol.Name = "课程" Then
    If e.NewValue Is Nothing Then
        e.DataRow("课时费") = Nothing
    Else
        Dim dr  As  DataRow
        dr =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("课程") & "'")
        If dr IsNot Nothing Then
            e.DataRow("课时费") = dr("课时费")
        End If
    End If
End If


If e.DataCol.Name = "陪练等级" Then
    If e.NewValue Is Nothing Then
        e.DataRow("陪练等级") = Nothing
    Else
        Dim dr  As  DataRow
        dr =  DataTables("课类分类表").Find("科目 = '" & e.DataRow("陪练等级") & "'")
        If dr IsNot Nothing Then
            e.DataRow("陪练费") = dr("课时费")
        End If
    End If
End If

Select Case e.DataCol.Name
    Case "新加课时"
            e.DataRow("培训新缴") = e.DataRow("课时费") * e.DataRow("新加课时")
            e.DataRow("剩余课时") = e.DataRow("剩余课时") + e.DataRow("新加课时")
            e.DataRow("学费余额") = e.DataRow("培训新缴") + e.DataRow("学费余额")
    End  Select

Select Case e.DataCol.Name
    Case "新加乐理"
        e.DataRow("乐理新缴") = e.DataRow("乐理费") * e.DataRow("新加乐理")
        e.DataRow("乐理课时") = e.DataRow("乐理课时") + e.DataRow("新加乐理")
        e.DataRow("乐理学费余额") = e.DataRow("乐理学费余额") + e.DataRow("乐理新缴")
    End  Select

Select Case e.DataCol.Name
        Case "新加陪练"
                e.DataRow("陪练新缴") = e.DataRow("陪练费") * e.DataRow("新加陪练")
                e.DataRow("陪练课时") = e.DataRow("陪练课时") + e.DataRow("新加陪练")
                e.DataRow("陪练费余额") = e.DataRow("陪练新缴") + e.DataRow("陪练费余额")
        End  Select

[此贴子已经被作者于2015/7/18 22:10:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2015/7/18 22:26:00 [只看该作者]

试试Dim lms As String = "乐理程度|课程|陪练等级"
For lm As String In lms.Split("|")
    If e.DataCol.Name = lm
        If e.NewValue Is Nothing Then
            e.DataRow(left(lm,2) & "费") = Nothing
        Else
            Dim dr  As  DataRow
            dr =  DataTables("课类分类表").Find("科目 = '" & e.DataRow(lm) & "'")
            If dr IsNot Nothing Then
                e.DataRow(left(lm,2) & "费") = dr("课时费")
            End If
        End If
    End If
Next
Select Case e.DataCol.Name
    Case "新加课时"
        e.DataRow("培训新缴") = e.DataRow("课时费") * e.DataRow("新加课时")
        e.DataRow("剩余课时") = e.DataRow("剩余课时") + e.DataRow("新加课时")
        e.DataRow("学费余额") = e.DataRow("培训新缴") + e.DataRow("学费余额")
    Case "新加乐理"
        e.DataRow("乐理新缴") = e.DataRow("乐理费") * e.DataRow("新加乐理")
        e.DataRow("乐理课时") = e.DataRow("乐理课时") + e.DataRow("新加乐理")
        e.DataRow("乐理学费余额") = e.DataRow("乐理学费余额") + e.DataRow("乐理新缴")
    Case "新加陪练"
        e.DataRow("陪练新缴") = e.DataRow("陪练费") * e.DataRow("新加陪练")
        e.DataRow("陪练课时") = e.DataRow("陪练课时") + e.DataRow("新加陪练")
        e.DataRow("陪练费余额") = e.DataRow("陪练新缴") + e.DataRow("陪练费余额")
End  Select

 回到顶部