DataColChanging事件代码:
If e.DataCol.IsNumeric Then
If e.NewValue = 0 Then
e.NewValue = Nothing
End if
End If
CurrentTableChanged事件代码:
Case "项目借款"
Dim ta As New DropTreeBuilder
ta.SourceTable = DataTables("项目管理")
ta.TreeCols = "部门名称|借款人|项目名称"
ta.SourceCols = "项目名称|合同额|营业额|责任成本|匹配成本|支出合计|到款总计|借款余额|项目经理" '指定数据来源列
ta.ReceiveCols = "项目名称|合同额|完成产值|预算成本|匹配成本|开累支出|累计到款|借款余额|项目经理" '指定数据接收列
ta.TreeSort = "部门名称,借款人,项目名称"
CurrentTable.Cols("项目名称").DropTree = ta.Build()
问题现象:
在项目借款表中选择项目名称时,如果第一次选择的项目借款余额不为0,则改选借款余额为0的项目时,会出现下列错误,且原来的借款余额不会清0。实际上,所有的数值列引用都有这个问题。
从字符串 "" 到类型 "Double" 的转换无效
解决办法:
1、修改代码为:If e.DataCol.IsNumeric andalso e.DataCol.name<>"借款余额" Then
但引用的数值列越多,上述代码就越长,数据表中显示0值就越多,因而越难看。
2、借款余额列为空白的改为数值0
求助:
这是bug吗?
[此贴子已经被作者于2017/6/28 15:15:06编辑过]