以文本方式查看主题

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

--  作者:gygck
--  发布时间:2013/1/5 14:46:00
--  求代码

求代码

 

第一列是双精度小数型

 

第一列大于100时,第二列显示  需向公司请款  ,否则  显示  无需向公司请款

 

我的代码为

 

Case "付款金额"
        If e.DataRow.("计划金额")> 100 Then
    e.DataRow("是否需向公司请款") = "需要向公司请款"

        Else
            e.DataRow("是否需向公司请款") = "无需向公司请款"
        End If

 

 

问题出在哪里?


--  作者:gygck
--  发布时间:2013/1/5 14:47:00
--  

Case "付款金额"
        If e.DataRow.("付款金额")> 100 Then
    e.DataRow("是否需向公司请款") = "需要向公司请款"

        Else
            e.DataRow("是否需向公司请款") = "无需向公司请款"
        End If


--  作者:lin_hailun
--  发布时间:2013/1/5 14:55:00
--  
多了一个点吧

Select Case e.DataCol.name  
    Case "付款金额"
        If e.DataRow("付款金额") > 100 Then
            e.DataRow("是否需向公司请款") = "需要向公司请款"          
        Else
            e.DataRow("是否需向公司请款") = "无需向公司请款"
        End If     
End Select

--  作者:gygck
--  发布时间:2013/1/5 15:15:00
--  

真的是


    Case "质保金数额"
        If e.DataRow("质保金数额")= 0 Then
            e.DataRow("是否已付完款") = "已付完款的合同"
        Else
            e.DataRow("是否已付完款") = "未付完款的合同"           
        End If

 

这个代码没出错,但是,没有执行结果


--  作者:lin_hailun
--  发布时间:2013/1/5 15:19:00
--  
 4楼,你确定激发了 质保金数额 列的改变事件吗?这一列是表达式吗?

--  作者:gygck
--  发布时间:2013/1/5 15:22:00
--  
额,表达式列
--  作者:lin_hailun
--  发布时间:2013/1/5 15:26:00
--  
 如果是表达式列的话,看看这个。

http://www.foxtable.com/help/topics/2381.htm

--  作者:gygck
--  发布时间:2013/1/5 15:30:00
--  
悲催了,这个表达式是子表数据统计来的,
--  作者:lin_hailun
--  发布时间:2013/1/5 15:38:00
--  
 那就编写子表的datacolchanged事件代码。

 得到父表的行 e.datarow.getparentrow("父表名")

--  作者:nblwar
--  发布时间:2013/1/5 18:24:00
--  
是否需向公司请款 也设置成表达式列就行