Foxtable(狐表)用户栏目专家坐堂 → 请老师看一下,这个应该怎么实现


  共有1822人关注过本帖树形打印复制链接

主题:请老师看一下,这个应该怎么实现

帅哥哟,离线,有人找我吗?
Engineer1
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2018/11/27 11:04:00 [只看该作者]

基础太差了,还请老师帮助写一下吧,表A中的检测项目要体现出选择的数量,例如项目*2 ,费用则直接计算出来

 回到顶部
帅哥哟,离线,有人找我吗?
Engineer1
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2018/11/27 11:45:00 [只看该作者]

老师,计算可以用表达式生成,可检测项目怎么才能在表A里体现出来是“项目*2,+别的项目“

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 11:57:00 [只看该作者]

代码改成

 

Dim r As Row = Tables("表A").Current
If r IsNot Nothing Then
    Dim t As Table = e.Form.Controls("Table1").Table
    t.FinishEditing
    Dim rs As List(of Row) = t.GetCheckedRows
    If rs.Count > 0 Then
        Dim xm As String
        Dim fy As Double
        For Each r1 As Row In rs
            xm = xm & "," & r1("检测项目")
            fy += r1("检测费用") * r1("检测数量")
        Next
        r("检测项目") = xm.Trim(",")
        r("检测费用") = fy
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Engineer1
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2018/11/27 13:02:00 [只看该作者]

老师,我想实现表中检测项目要体现出来检测的项目数量,例如“低倍检查*2“

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 15:27:00 [只看该作者]

Dim r As Row = Tables("表A").Current
If r IsNot Nothing Then
    Dim t As Table = e.Form.Controls("Table1").Table
    t.FinishEditing
    Dim rs As List(of Row) = t.GetCheckedRows
    If rs.Count > 0 Then
        Dim xm As String
        Dim fy As Double
        For Each r1 As Row In rs
            If r1("检测数量") > 1 Then
                xm = xm & "," & r1("检测项目") & "*" & r1("检测数量")
                fy += r1("检测费用") * r1("检测数量")
            Else
                xm = xm & "," & r1("检测项目")
                fy += r1("检测费用")
            End If
        Next
        r("检测项目") = xm.Trim(",")
        r("检测费用") = fy
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
Engineer1
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2018/12/4 10:23:00 [只看该作者]

老师检测数量改动后,下次进入不能恢复到初始状态,想在进入的时候处于初始状态应该怎么弄?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/4 10:38:00 [只看该作者]

以下是引用Engineer1在2018/12/4 10:23:00的发言:
老师检测数量改动后,下次进入不能恢复到初始状态,想在进入的时候处于初始状态应该怎么弄?

 

你修改【检测数量】之后,清空其余各列的数据咯,在datacolchanged事件编写代码。

 

http://www.foxtable.com/webhelp/scr/0625.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
Engineer1
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:236 积分:1922 威望:0 精华:0 注册:2017/10/1 12:15:00
  发帖心情 Post By:2018/12/5 15:05:00 [只看该作者]

老师我写在datacolchanged里,可是计算的时候都是乘以1了,应该是,先执行datacolchanged 了,想要关闭下拉窗口后再执行怎么弄?

If e.DataCol.Name = "检测数量" Then 
    If e.DataRow.IsNull("检测数量") = False Then 
        e.DataRow("检测数量") = Nothing
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 16:04:00 [只看该作者]

以下是引用Engineer1在2018/12/4 10:23:00的发言:
老师检测数量改动后,下次进入不能恢复到初始状态,想在进入的时候处于初始状态应该怎么弄?

 

DropDownOpened事件,循环每一行,清空表格的数量值,即可。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 16:08:00 [只看该作者]


For Each rr As Row In t.Table.Rows
    rr("检测数量") = Nothing
Next

 回到顶部
总数 20 上一页 1 2