Foxtable(狐表)用户栏目专家坐堂 → 缴费问题


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

主题:缴费问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 15:56:00 [显示全部帖子]

 填充代码

 

DataTables("表B").DeleteFor("学号 is null")
For Each r As Row In Tables("表B").Rows
    Dim fdr As DataRow = DataTables("表A").Find("学号 = '" & r("学号") & "' and 可否毕业 Is not null")
    If fdr IsNot Nothing Then
        r("可否毕业") = fdr("可否毕业")
    End If
    r("实缴学费") = r("大一缴费") + r("大二缴费") + r("大三缴费")
    r("欠缴学费") = r("应缴学费") - r("实缴学费")
    If r("欠缴学费") <= 0 Then
        r("缴费状况") = "缴清学费"
    Else
        r("缴费状况") = "欠缴学费"
    End If
    If r("欠缴学费") <= 0 AndAlso r("可否毕业") = "予准毕业" Then
        r("可否发毕业证") = "准予发证"
    Else
        r("可否发毕业证") = "不予发证"
    End If
Next

Dim nr As Row = Tables("表B").AddNew
nr("姓名") = Tables("表B").Compute("count(_Identify)") - 1
nr("大一缴费") = Tables("表B").Compute("sum(大一缴费)")
nr("大二缴费") = Tables("表B").Compute("sum(大二缴费)")
nr("大三缴费") = Tables("表B").Compute("sum(大三缴费)")

 

 

 drawcell代码

 

If e.Col.Name = "可否毕业" AndAlso e.Text = "不予毕业" Then
    e.Table.DataTable.AddUserStyle("红", Color.Red, Color.black)
    e.Style = "红"
Else If e.Col.Name = "缴费状况" OrElse  e.Col.Name = "可否发毕业证"  Then
    e.Table.DataTable.AddUserStyle("黄", Color.Yellow, Color.black)
    If e.Row("欠缴学费") > 0 Then
        e.style = "黄"
    End If
    If e.Row(e.Col.Name) > "不予发证" Then
        e.style = "黄"
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 16:27:00 [显示全部帖子]

以下是引用aygp在2014-4-4 16:21:00的发言:
有点甜老师好!
以上代码在执行时,有点问题:1、在录入缴费确认后,“可否发毕业证”全部显示黄色的‘不予发证’  ,并且界面不可操作,几秒钟自动退出。请有点甜老师再检查一下,谢了!

 

第一段的填充代码,是应该做一个按钮去执行的。也就是说,你录入完数据以后,再点击按钮得到结果。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 16:28:00 [显示全部帖子]

 如果要在录入缴费的时候立马得到结果,需要编写datacolchanged代码,适当的修改代码才行。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 16:53:00 [显示全部帖子]

 datacolchanged 代码

 

Dim fdr As DataRow = e.DataTable.Find("学号 = '合计'")
If fdr Is Nothing Then
    fdr = e.DataTable.AddNew
    fdr("学号") = "合计"
End If

If e.DataRow("学号") = "合计" Then
    Return
End If

Select Case e.DataCol.Name
    Case "学号"
        Dim dr As DataRow = DataTables("表A").Find("学号 = '" & e.DataRow("学号") & "' and 可否毕业 Is not null")
        If dr IsNot Nothing Then
            e.DataRow("可否毕业") = dr("可否毕业")
            e.DataRow("姓名") = dr("姓名")
        End If
    Case "大一缴费", "大二缴费", "大三缴费"
        e.DataRow("实缴学费") = e.DataRow("大一缴费") + e.DataRow("大二缴费") + e.DataRow("大三缴费")
        e.DataRow("欠缴学费") = e.DataRow("应缴学费") - e.DataRow("实缴学费")
        If e.DataRow("欠缴学费") <= 0 Then
            e.DataRow("缴费状况") = "缴清学费"
        Else
            e.DataRow("缴费状况") = "欠缴学费"
        End If
        If e.DataRow("欠缴学费") <= 0 AndAlso e.DataRow("可否毕业") = "予准毕业" Then
            e.DataRow("可否发毕业证") = "准予发证"
        Else
            e.DataRow("可否发毕业证") = "不予发证"
        End If
        fdr("大一缴费") = Tables("表B").Compute("sum(大一缴费)")
        fdr("大二缴费") = Tables("表B").Compute("sum(大二缴费)")
        fdr("大三缴费") = Tables("表B").Compute("sum(大三缴费)")
End Select

fdr("姓名") = Tables("表B").Compute("count(_Identify)") - 1

[此贴子已经被作者于2014-4-4 16:54:14编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 17:26:00 [显示全部帖子]

简单修改一下

 

Dim fdr As DataRow = e.DataTable.Find("学号 = '合计'")
If fdr Is Nothing Then
    fdr = e.DataTable.AddNew
    fdr("学号") = "合计"
End If

If e.DataRow("学号") = "合计" Then
    Return
End If

Select Case e.DataCol.Name
    Case "学号","大一缴费", "大二缴费", "大三缴费"
        Dim dr As DataRow = DataTables("表A").Find("学号 = '" & e.DataRow("学号") & "' and 可否毕业 Is not null")
        If dr IsNot Nothing Then
            e.DataRow("可否毕业") = dr("可否毕业")
            e.DataRow("姓名") = dr("姓名")
        End If
        e.DataRow("实缴学费") = e.DataRow("大一缴费") + e.DataRow("大二缴费") + e.DataRow("大三缴费")
        e.DataRow("欠缴学费") = e.DataRow("应缴学费") - e.DataRow("实缴学费")
        If e.DataRow("欠缴学费") <= 0 Then
            e.DataRow("缴费状况") = "缴清学费"
        Else
            e.DataRow("缴费状况") = "欠缴学费"
        End If
        If e.DataRow("欠缴学费") <= 0 AndAlso e.DataRow("可否毕业") = "予准毕业" Then
            e.DataRow("可否发毕业证") = "准予发证"
        Else
            e.DataRow("可否发毕业证") = "不予发证"
        End If
        fdr("大一缴费") = Tables("表B").Compute("sum(大一缴费)")
        fdr("大二缴费") = Tables("表B").Compute("sum(大二缴费)")
        fdr("大三缴费") = Tables("表B").Compute("sum(大三缴费)")
        fdr("应缴学费") = Tables("表B").Compute("sum(应缴学费)")
        fdr("实缴学费") = Tables("表B").Compute("sum(实缴学费)")
        fdr("欠缴学费") = Tables("表B").Compute("sum(欠缴学费)")
End Select

fdr("姓名") = Tables("表B").Compute("count(_Identify)") - 1


 回到顶部