以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:如何将第一行计算得到的值,在今后的行里面同列同样同步赋值呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52422)

--  作者:李孝春
--  发布时间:2014/6/15 23:32:00
--  求助:如何将第一行计算得到的值,在今后的行里面同列同样同步赋值呢?

求助:如何将第一行计算得到的值,在今后的行里面同列同样同步赋值呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:14.jpg
图片点击可在新窗口打开查看

计算代码:

e.DataRow("现金流出_贷款利息")=e.DataRow("现金收入_贷款")*0.006

 

想实现效果第一个月进行计算后,2到12月利息自动等于第一个月的贷款利息。


--  作者:y2287958
--  发布时间:2014/6/16 6:07:00
--  
加个判断条件即可
例如:if e.DataRow("月份")=“1”
……

--  作者:有点甜
--  发布时间:2014/6/16 9:18:00
--  

代码

 

static temp As Double
Select Case e.DataCol.Name
    Case "现金收入_贷款"
        If e.DataRow("月份") = 1 Then
            e.DataRow("现金流出_贷款利息") = e.DataRow("现金收入_贷款")*0.006
            temp = e.DataRow("现金流出_贷款利息")
        Else
            e.DataRow("现金流出_贷款利息") = temp
        End If
End Select


--  作者:李孝春
--  发布时间:2014/6/16 9:34:00
--  回复:(有点甜)代码 static temp As Doubl...
感谢有点甜老师的解答

运行如上代码之后  问题依旧

例子如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:创业计划书0617.zip



--  作者:有点甜
--  发布时间:2014/6/16 10:01:00
--  

 那就这样写

 

Select Case e.DataCol.Name
    Case "月份"
        If e.DataRow("月份") <> 1 Then
            e.DataRow("现金流出_贷款利息") = e.DataTable.Find("月份 = \'1\'")("现金流出_贷款利息")
        End If
    Case "现金收入_贷款"
        e.DataRow("现金流出_贷款利息") = e.DataRow("现金收入_贷款")*0.006
End Select


--  作者:李孝春
--  发布时间:2014/6/16 11:59:00
--  回复:(有点甜) 那就这样写 Select C...
有点甜老师 



代码运行如下
一月贷款利息是600
二月居然就是11了
然后一直到12月都是11


图片点击可在新窗口打开查看此主题相关图片如下:0616.jpg
图片点击可在新窗口打开查看
明显还是不对哦 

--  作者:有点甜
--  发布时间:2014/6/16 12:01:00
--  

你的表的数据有问题,你得先清空你的表数据。

 

DataTables("xxxx").DataRows.Clear


--  作者:李孝春
--  发布时间:2014/6/16 12:07:00
--  回复:(有点甜)你的表的数据有问题,你得先清空你的...
清空现金流量表么  已经删除了  问题依旧

第一个月有贷款录入时候变动是正常的额
但是第二个月到第十二月就不正常啦


好纠结哦

--  作者:有点甜
--  发布时间:2014/6/16 12:18:00
--  

请用代码情况,OK?

 

DataTables("xxxx").DataRows.Clear


--  作者:blackzhu
--  发布时间:2014/6/16 12:28:00
--  
Dim temp As Double
Select Case e.DataCol.Name
    Case "现金收入_贷款"
        If e.DataRow("月份") = 1 Then
            e.DataRow("现金流出_贷款利息") = e.DataRow("现金收入_贷款")*0.006
            temp = e.DataRow("现金流出_贷款利息")
        Else
            Dim n As Integer = 0
            Dim drs As List(Of DataRow) = e.DataTable.Select("月份 Is Not Null")
            For n  = 0 To drs.Count - 1
                If n > 0 And drs.Count > 0 Then
                    e.DataRow("现金流出_贷款利息") = drs(n-1)("现金流出_贷款利息")
                End If
            Next
        End If
End Select