Foxtable(狐表)用户栏目专家坐堂 → 新增行时引起原来的行状态改变


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

主题:新增行时引起原来的行状态改变

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
新增行时引起原来的行状态改变  发帖心情 Post By:2022/2/7 3:59:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:屏幕截图 2022-02-06 214824.png
图片点击可在新窗口打开查看

如上图,当点击新增行按钮“New QUOTN”的时候,原来行(上一行)的状态改变,不知道什么原因。
New QUOTN按钮代码:
Dim id As Integer = DataTables("报价单").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & id
DataTables("报价单").AppendLoad(Filter, False)

Dim sts() As String = {"dropbox2","DropBox4"}
For Each st As String In sts
    If e.Form.Controls(st).value Is Nothing Then
        MessageBox.show("Please enter the name,phone number!","Remind")
        Return
    End If
Next

Tables("报价单").AllowEdit  = True
Dim dr As Row = Tables("报价单").AddNew
dr("日期") = Date.Today
dr("客户名称") = e.Form.Controls("DropBox4").Text
dr("客户电话") = e.Form.Controls("DropBox2").Text
'dr.Save

Dim xzcp As WinForm.Button = e.Form.Controls("新增产品")
xzcp.Enabled = True

Dim bc As WinForm.Button = e.Form.Controls("保存")
bc.Enabled = True

e.Form.Controls("Button1").Enabled =False

报价单DataColChanged代码:
If e.DataCol.Name = "订单号" Then '发生变化的是产品列和订单号
    '则累计订单出库明细表中同名产品总的销售量,然后赋值给变动行的已提数量列
    e.DataRow("总金额") = DataTables("报价明细表").Compute("sum(金额)","订单号 = '" & e.DataRow("订单号") & "'")
    e.DataRow("总数量") = DataTables("报价明细表").Compute("sum(数量)","订单号 = '" &  e.DataRow("订单号") & "'")
    e.DataRow("合计成本") = DataTables("报价明细表").Compute("sum(合计成本)","订单号 = '" &  e.DataRow("订单号") & "'")
    e.DataRow("合计成本") = iif(e.DataRow("合计成本") = Nothing,0, e.DataRow("合计成本"))
End If

Select Case  e.DataCol.Name
    Case  "总金额" ,"折扣","已付款","合计成本"
        e.DataRow("GrandTotal")  = e.DataRow("总金额")  - e.DataRow("折扣")
        e.DataRow("已付款") = e.DataRow("GrandTotal")
        e.DataRow("未付款") = e.DataRow("GrandTotal") - e.DataRow("已付款")
        e.DataRow("销售毛利") = e.DataRow("GrandTotal") - e.DataRow("合计成本") - DataTables("花销").Compute("sum(花销)","订单号 = '" & e.DataRow("订单号") & "'")
End Select

报价单DataRowAdding代码:
e.DataRow("编辑者") = User.name

Static Index As Integer = 99999
e.DataRow("订单号") = Format(Date.Today(),"BJyyMMdd") & Index
Index = Index - 1

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/7 8:57:00 [只看该作者]

1、调试一下哪一句代码后状态改变?
2、去掉所有表事件,试试还会不会改变状态

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2022/2/7 22:33:00 [只看该作者]

有时候有,有时候没有,很奇怪

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/7 22:41:00 [只看该作者]

可能是碰到特定的数据,多个表事件之间互相触发影响了。多测试看看输入什么数据会有问题

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2022/2/7 23:35:00 [只看该作者]

每次输入的只是名字和电话号码,即字母和数字

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/8 8:35:00 [只看该作者]

{"dropbox2","DropBox4"}下拉窗口是不是有表格,表格是不是用了双击事件?

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2022/2/8 23:02:00 [只看该作者]

是一个客户表,没有双击事件

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/8 23:17:00 [只看该作者]

做个例子发上来测试吧

 回到顶部