以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]默认值能来源于某列是否更好?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1019)

--  作者:号子
--  发布时间:2008/10/30 11:09:00
--  [求助]默认值能来源于某列是否更好?
有发货重量,收货重量,结帐重量三列,结帐重量默认值来源于收货重量,列属性里不能设,能加上吗?
--  作者:狐狸爸爸
--  发布时间:2008/10/30 11:14:00
--  

这种只能用计算代码来实现。


--  作者:号子
--  发布时间:2008/10/30 11:20:00
--  
晕,这个功能易表里就很简单啊,建议能在列属性里加上,
--  作者:狐狸爸爸
--  发布时间:2008/10/30 11:50:00
--  
其实是一样的,下面的代码难道很难吗?
 

If e.DataCol.Name = "收货重量" Then \'如果输入的是收货重量

   If e.DataRow.IsNull("结算重量") Then \'而且结算重量没有输入内容

      e.DataRow("结算重量") = e.NewValue \'结算重量等于新输入的收货重量

   End If

End If


请参考下面的例子,没有使用计算代码,代码在DataColChanged事件中:

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目24.table


我觉得比易表更清晰,而且不容易误动。
[此贴子已经被作者于2008-10-30 11:50:35编辑过]

--  作者:smileboy
--  发布时间:2008/10/30 11:53:00
--  
事件设计也很简单,看帮助的“计算代码”部分
--  作者:号子
--  发布时间:2008/10/30 12:55:00
--  

嘿嘿,先接触易表,有先入为主的感觉,狐表刚接触,对事件和代码有无从入手的感觉,结合自己的情况,边求助边消化会更好些,XX啦。还有个问题与此主题相关且他爸已有附件,就不另开帖了:就是再加价格和金额两列,要求输入价格算金额,输入金额算价格。


--  作者:狐狸爸爸
--  发布时间:2008/10/30 14:18:00
--  
设置在AfterEdit事件中,因为这个事件用于跟踪输入:

 

Dim Count As Integer= e.Row("数量")

If e.Col.Name = "单价" Then

    e.Row("金额") = Count * e.Row("单价")

Else If e.Col.Name = "金额" Then

    e.Row("单价") = Math.Round(e.Row("金额")/Count,2)

End If



 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目24.table