以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表增行时提示?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34911)

--  作者:wqb1102
--  发布时间:2013/6/19 9:33:00
--  关联表增行时提示?
描述:
  Stopped working

问题签名:
  问题事件名称: APPCRASH
  Application Name: foxtable.exe
  Application Version: 2013.6.8.1
  Application Timestamp: 51b1bfc2
  Fault Module Name: KERNELBASE.dll
  Fault Module Version: 6.1.7601.17965
  Fault Module Timestamp: 506dbd3f
  Exception Code: e053534f
  Exception Offset: 0000c6e3
  OS 版本: 6.1.7601.2.1.0.768.2
  区域设置 ID: 2052

在关联表增行时出现提示,并关闭项目

--  作者:Bin
--  发布时间:2013/6/19 9:34:00
--  
增加空白行就这样?是否有默认值?
--  作者:Bin
--  发布时间:2013/6/19 9:35:00
--  
是否有关联增加代码导致死循环?
--  作者:wqb1102
--  发布时间:2013/6/19 9:41:00
--  
应该没有,我查过:只是一个窗口中出现此问题,但看代码没发现问题
--  作者:Bin
--  发布时间:2013/6/19 9:41:00
--  
上例子吧.说明哪里出问题.
--  作者:wqb1102
--  发布时间:2013/6/19 13:25:00
--  
经排查后发现是其中一个代码造成,如例销售表属性中Datecolchanged
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存统计.table

要如何修改此代码?

--  作者:Bin
--  发布时间:2013/6/19 14:08:00
--  
你这代码写的,表达式列是不能赋值的.

写得这么乱都不知道你想干嘛.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存统计.table



--  作者:zaianda
--  发布时间:2013/6/19 14:29:00
--  

If e.DataRow.IsNull("件") Then
    MessageBox.Show("要关闭了")
    e.DataRow("金额") = e.DataRow("包") * e.DataRow("单价")
    MessageBox.Show(e.DataRow("金额") )
    e.DataRow("箱") = e.DataRow("包") / e.DataRow("规格")  

Else
    e.DataRow("包") = e.DataRow("件") * e.DataRow("规格")
    e.DataRow("金额") = e.DataRow("件") * e.DataRow("单价")
    e.DataRow("箱") = e.DataRow("件")
End If

“箱”列本来就是表达式列了,你还在DATACHANGED事件中对它赋值,这样会引起无限循环从而系统出错。


--  作者:wqb1102
--  发布时间:2013/6/19 15:41:00
--  
多谢两位了