现金日记账页面代码:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path
Case "xjrjz.htm"
If e.PostValues.Count = 0 Then
wb.AddPageTitle("","ph1","博融数据现金日记账")
wb.AddForm("","form1","xjrjz.htm")
With wb.AddInputGroup("form1","ipg1","现金日记账")
.AddInput("日期","日期","date")
.AddSelect("凭证种类","凭证种类","|fa piao|收据|收条|小piao|物流单|快递单|其它单据")
.AddInput("凭证号数","凭证号数","Text")
.AddSelect("对方科目","对方科目","|日常办公|销售回款|日常开支|货物订货|其它项目")
.AddInput("摘要","内容摘要","Text")
.AddInput("借方金额","收入金额","number").Step = "0.01"
.AddSelect("借方","收入人员","|肖妍|费泓纶|田景兰")
.AddInput("贷方金额","支出金额","number").Step = "0.01"
.AddSelect("贷方","支出人员","|肖妍|费泓纶|田景兰")
.AddInput("余额","余额","number").Step = "0.01"
End With
With wb.AddButtonGroup("form1","btg1",True)
.Add("btn1", "确定", "submit")
End With
e.WriteString(wb.Build)
Else
Dim nms() As String = {"日期","摘要","对方科目"} '不能为空的列名数组
For Each nm As String In nms
If e.PostValues.ContainsKey(nm) = False Then '生成错误提示页
With wb.AddMsgPage("","msgpage","增加失败", nm & "列不能为空!")
.icon = "Warn" '改变图标
.AddButton("btn1","返回").Attribute = ""
End With
e.WriteString(wb.Build)
Return "" ' '必须返回
End If
Next
nms = New String() {"日期","凭证种类","凭证号数","摘要","对方科目","日页","借方金额","贷方金额","余额","借方","贷方"} '重新定义了nms数组,增加了两列.
Dim dr As DataRow = DataTables("现金日记账").AddNew()
For Each nm As String In nms
If e.PostValues.ContainsKey(nm) Then
dr(nm) = e.PostValues(nm)
End If
Next
'保存并生成增加成功提示页面
dr.save()
With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") '生成成功提示页
.AddButton("btn1","继续增加","xjrjz.htm")
End With
End If
wb.InsertHTML("<script>其它.parentNode.parentNode.style.display='none'</script>")
e.WriteString(wb.Build)
End Select
计算代码如下:(该如何融合到上述页面代码中呢?)
Select Case e.DataCol.Name
Case "借方金额","贷方金额"
Dim dr As DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") '找出上一行
If dr Is Nothing Then '如果没有找到上一行,说明本行就是第一行
e.DataRow("余额") = e.DataRow("借方金额") - e.DataRow("贷方金额")
dr = e.DataRow
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方金额") - drs(i)("贷方金额")
Next
End Select
[此贴子已经被作者于2019/10/6 20:14:11编辑过]