Foxtable(狐表)用户栏目专家坐堂 → [求助]实际操作过程中发现,每次通过“删除一行”按钮删除的表都是所在表的最早行,而不是想要删除的选中行?


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

主题:[求助]实际操作过程中发现,每次通过“删除一行”按钮删除的表都是所在表的最早行,而不是想要删除的选中行?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
[求助]实际操作过程中发现,每次通过“删除一行”按钮删除的表都是所在表的最早行,而不是想要删除的选中行?  发帖心情 Post By:2019/3/5 0:24:00 [只看该作者]

在窗口中,新建一个按钮控件,作用是,当所在表禁止删除时,只能通过“删除一行”按钮,删除一行,并保存至另存表。代码如下:
Dim dr As Row = Tables("产品").Current
If dr IsNot Nothing Then
    If MessageBox.Show("确定要删除该数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim dr1 As DataRow = DataTables("产品另存表").Find("自动编号='" & dr("自动编号") & "'") '判断一下是不是需要排除重复,如果不需要就将代码去除'
        If dr1 Is Nothing Then
            dr1= DataTables("产品另存表").addnew
            For Each cl As Col In Tables("产品").cols
                dr1(cl.Name) = dr(cl.name)
            Next
            dr1.save
        End If
        dr.delete
    End If
End If
现在的问题是,实际操作过程中发现,每次通过“删除一行”按钮删除的表都是所在表的最早行,而不是想要删除的选中行?
请老师进测试项目看看,帮助解决一下?


[此贴子已经被作者于2019/4/30 9:51:40编辑过]

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


加好友 发短信
等级:狐神 帖子:4648 积分:33890 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/3/5 8:30:00 [只看该作者]

代码测试正常

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(y2287958)代码测试正常  发帖心情 Post By:2019/3/5 8:34:00 [只看该作者]

代码没问题,那为什么会只删除第一行,而不是选中行?

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


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

改成

 

Dim dr As Row = Tables("窗口1_Table2").Current
If dr IsNot Nothing Then
    If MessageBox.Show("确定要删除该数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim dr1 As DataRow = DataTables("产品另存表").Find("自动编号='" & dr("自动编号") & "'") '判断一下是不是需要排除重复,如果不需要就将代码去除'
        If dr1 Is Nothing Then
            dr1= DataTables("产品另存表").addnew
            For Each cl As Col In Tables("窗口1_Table2").cols
                dr1(cl.Name) = dr(cl.name)
            Next
            dr1.save
        End If
        dr.delete
    End If
End If


 回到顶部