Foxtable(狐表)用户栏目专家坐堂 → 表达式列为只读,请教


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

主题:表达式列为只读,请教

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


加好友 发短信
等级:小狐 帖子:315 积分:3554 威望:0 精华:0 注册:2012/12/10 10:38:00
表达式列为只读,请教  发帖心情 Post By:2013/12/5 9:44:00 [只看该作者]

请教一下:

在datacolchanged中写了如下代码:用于自动计算小计列

If e.DataCol.Name = "零件价格" OrElse e.DataCol.Name = "数量" OrElse e.DataCol.Name = "商业折扣"  Then   
    e.DataRow("小计") = e.DataRow("数量") * e.DataRow("零件价格")  * e.DataRow("商业折扣")
End If

 

在表达式列中填写的表达式 为:[数量] * [零件价格] * (IsNull([商业折扣],1))

 

表属性的prepareedit 中

 

If e.Col.Name <> "小计" AndAlso e.Col.Name <> "数量"  Then
  e.Cancel = True
End If

 

但每次增加行或修改数量时报错:

.NET Framework 版本:2.0.50727.6407
Foxtable 版本:2013.10.13.1
错误所在事件:表,业务明细,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“小计”为只读。

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/5 9:48:00 [只看该作者]

既然是表达式列,直接设置了表达式就行:

[数量] * [零件价格] * (IsNull([商业折扣],1))

 

不需要写代码了,删除代码。


 回到顶部