以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求列计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2312)

--  作者:实话实说
--  发布时间:2009/4/6 20:22:00
--  求列计算
在A列录入1+2*3,B列得计算结果,整数。A、B列为字符型列,代码如何写,在哪写?
--  作者:czy
--  发布时间:2009/4/6 20:40:00
--  
DataColChanged事件代码:
Dim r As DataRow = e.DataRow
if e.DataCol.Name = "A" AndAlso r.IsNull("A") = false Then
    Dim s As String = r("A")
    r("B") = Eval(s,r)
End If

--  作者:实话实说
--  发布时间:2009/4/6 21:17:00
--  
不好意思,B列为整数型,请帮我改一下.另外,清楚A列的数据后B列的数据并不空
[此贴子已经被作者于2009-4-6 21:25:47编辑过]

--  作者:程兴刚
--  发布时间:2009/4/6 21:37:00
--  

这样试试:(我没文件,没有测试)

Dim r As DataRow = e.DataRow
Dim s As String = e.DataRow("A")
if e.DataCol.Name = "A" Then
   if r.IsNull("A") = true Then
      r("B") = nothing
   else
      r("B") = Eval(s,r)
   end if
End If

[此贴子已经被作者于2009-4-6 21:39:09编辑过]

--  作者:实话实说
--  发布时间:2009/4/6 21:56:00
--  
以下是引用程兴刚在2009-4-6 21:37:00的发言:

这样试试:(我没文件,没有测试)

Dim r As DataRow = e.DataRow
Dim s As String = e.DataRow("A")
if e.DataCol.Name = "A" Then
   if r.IsNull("A") = true Then
      r("B") = nothing
   else
      r("B") = Eval(s,r)
   end if
End If

[此贴子已经被作者于2009-4-6 21:39:09编辑过]

测试通过,就是这样.谢啦