以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  重置列后只重新计算第一行数据?怎么解决??  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95380)

--  作者:bluev
--  发布时间:2017/1/18 10:17:00
--  重置列后只重新计算第一行数据?怎么解决??
重置列后只重新计算第一行数据或选定行数据??

DataColChanged 代码:

If e.DataCol.Name = "产品名称" Then
Dim dr As DataRow = Tables("测试").Current.DataRow
  dr("产量") = DataTables("汇总数据").Compute("Sum(产量)","[日期] = #" & dr("日期") & " # And [夜班] = \'" & dr("夜班") & "\' And [生产线] = \'" & dr("生产线") & "\'")
End If

求教 怎么改正?

--  作者:有点色
--  发布时间:2017/1/18 10:21:00
--  
If e.DataCol.Name = "产品名称" Then
    Dim dr As DataRow = e.DataRow
    dr("产量") = DataTables("汇总数据").Compute("Sum(产量)","[日期] = #" & dr("日期") & " # And [夜班] = \'" & dr("夜班") & "\' And [生产线] = \'" & dr("生产线") & "\'")
End If

--  作者:bluev
--  发布时间:2017/1/18 16:15:00
--  
这是什么原因?
多谢!!

--  作者:有点色
--  发布时间:2017/1/18 16:57:00
--  
以下是引用bluev在2017/1/18 16:15:00的发言:
这是什么原因?
多谢!!

 

获取事件的当前行,要用e.DataRow

 

如果用Current获取,每次,都是会获取你现在选中的那一行。


--  作者:bluev
--  发布时间:2017/1/18 17:14:00
--  
学习了。多谢!