If
e.Table.Current
IsNot
Nothing
Then
DataTables("订单明细").LoadFilter = "订单编号 =
" & e.Table.Current("订单编号")
Else
DataTables("订单明细").LoadFilter = "[_Identify] is null"
End
If
DataTables("订单明细").Load()
这样我们选择某行订单,就会自动加载对应的订单明细。
上面的代码也有不足,例如处理A订单的时候,会自动加载A订单的明细,当处理完B订单后再回到A订单,又得重新加载一次A订单的订单明细,显然这种重复加载是一种"浪费"。
我们可以再完善一下代码,避免数据重复加载:
If
e.Table.Current
IsNot
Nothing
Then
Dim Filter As
String =
"订单编号 =
" & e.Table.Current("订单编号")
If DataTables("订单明细").Find(Filter) Is
Nothing
Then
'如果对应的订单明细没有加载过
DataTables("订单明细").AppendLoad(Filter) '则追载此订单的订单明细
End
If
End
If
这个是 帮助文件的实例 运用后 两个实例代码均报错..
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:加载[top_order]失败!
详细错误信息:
将 varchar 转换为数据类型 numeric 时出现算术溢出错误。
此主题相关图片如下:err.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2016-11/2016112916442969331.jpg)