以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]新增行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71323)

--  作者:江南小城
--  发布时间:2015/7/9 11:19:00
--  [求助]新增行

狐表老师好,买入平均价列在增加行时不添加平均值数据。(我是在窗口关联表中输入数据的)

Select Case e.DataCol.name
    Case "买入价","买入量","卖出价","卖出量"
        Dim filter As String = "股票名称=\'" & e.DataRow("股票名称") & "\'"
        Dim sum1 As Double = 0
        Dim sum2 As Double = 0
        Dim count1 As Double = 0
        Dim count2 As Double = 0
        Dim pinavg As Double = 0
        For Each dr As DataRow In e.DataTable.Select(filter, "_sortkey")
            sum1 += dr("买入价") * dr("买入量")
            sum2 += pinavg * dr("卖出量")
            count1 += dr("买入量")
            count2 += dr("卖出量")
            If dr.IsNull("卖出价") Then
                dr("买入平均价") = (sum1-sum2) / (count1-count2)
                dr("卖出均价") = Nothing
                pinavg = dr("买入平均价")
            Else
                dr("买入平均价") = Nothing
            End If
        Next
End Select


--  作者:大红袍
--  发布时间:2015/7/9 11:21:00
--  
 新增行肯定不会添加,你要输入买入卖出内容才会计算。
--  作者:江南小城
--  发布时间:2015/7/9 11:35:00
--  
是的,我想不添加买入卖出通过股票名称也能在增加行时复制平均值数据。
--  作者:大红袍
--  发布时间:2015/7/9 11:37:00
--  

 参考 http://www.foxtable.com/help/topics/1587.htm

 


--  作者:江南小城
--  发布时间:2015/7/9 12:08:00
--  
用按钮重置列是吧
--  作者:大红袍
--  发布时间:2015/7/9 12:31:00
--  
 不是,在DataRowAdded事件,加入重置列的代码即可。
--  作者:江南小城
--  发布时间:2015/7/9 19:16:00
--  
谢谢老师