Foxtable(狐表)用户栏目专家坐堂 → 移动数据行时有误


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

主题:移动数据行时有误

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


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
移动数据行时有误  发帖心情 Post By:2019/3/31 14:51:00 [只看该作者]

我在单选框的CheckedChanged事件中写了如下代码,运行后发现修改数据并且也保存了数据后,如果这时将数据行移动到单选框未选中的行时,就会把刚才保存过的数据清空了,看看哪的原因?
If e.Sender.Checked Then
    e.Form.Controls("zengzhifuwu").Enabled=True
Else
   Dim t As Table = Tables("商户表")
    Dim idx As Integer=t.findrow("商户ID='" & e.Form.Controls("shanghuIDTextBox").Value & "'")
    Dim dr As DataRow = DataTables("商户表").Find("商户ID='" & e.Form.Controls("shanghuIDTextBox").Value & "'")
    If idx >=0 Then
        dr("贷记卡金额") = Nothing
        dr("借记卡费率") = Nothing
        dr("借记卡封顶金额") =Nothing
        dr("借记卡是否开通封顶") = False
        dr("增收手续费") = Nothing
        dr("增收费率") = Nothing
        e.Form.Controls("zengzhifuwu").Enabled=False
  End If
End If

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


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

 

你写了代码清空啊,如果不想清空,那就删除你的赋值代码。

 

请上传实例,具体说明你的逻辑,说明要做到什么效果。


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


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/1 11:24:00 [只看该作者]

当修改数据时如果单选框是选中状态下不清空,为选中时就清空了,前面运行都正常,并且数据也保存了,可是在窗体表中移动行时,移动到单选框未选中的行时,就会把刚才保存过的数据清空了,如果退出窗体或重新启动程序后,就正常了,不知道怎么回事

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


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

上传实例发上来测试。

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


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/4/1 15:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单选框测试.foxdb


甜老师试试当数据保存后将数据行移动到“是否开通TS”时会将刚才保存过得数据的值清空的
[此贴子已经被作者于2019/4/1 15:33:21编辑过]

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


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

把代码改写到click事件即可

 

If e.Sender.Checked Then
    e.Form.Controls("zengzhifuwu").Enabled=True
     Else
    Dim t As Table = Tables("表A")
    Dim idx As Integer=t.findrow("商户ID='" & e.Form.Controls("shanghuIDTextBox").Value & "'")
    Dim dr As DataRow = DataTables("表A").Find("商户ID='" & e.Form.Controls("shanghuIDTextBox").Value & "'")
      If idx >=0 Then
    dr("贷记卡金额") = Nothing
    dr("借记卡费率") = Nothing
    dr("借记卡封顶金额") =Nothing
    dr("借记卡是否开通封顶") = False
    dr("增收手续费") = Nothing
    dr("增收费率") = Nothing
    e.Form.Controls("zengzhifuwu").Enabled=False
    End If
End If


 回到顶部