Foxtable(狐表)用户栏目专家坐堂 → 如何解决删除多条记录时重复提示?


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

主题:如何解决删除多条记录时重复提示?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
如何解决删除多条记录时重复提示?  发帖心情 Post By:2015/1/28 16:00:00 [只看该作者]

在表的BeforeDeleteDataRow事件中编写如下代码:

If e.DataRow("YNPay") OrElse e.DataRow("YNKP") Then
    e.Cancel = True
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

结果执行删除操作时,选中多条记录删除,选中多少条就有多少遍这样的提示,请问如何解决?只提示一遍“已付款或已开piao记录不能删除”即可

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/28 16:02:00 [只看该作者]

设计一个删除按钮.删除按钮前加入这句代码即可.

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:03:00 [只看该作者]

明白了,多谢


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:11:00 [只看该作者]

在右键快捷菜单中应该如何改写下列代码:
If e.DataRow("YNPay") OrElse e.DataRow("YNKP") Then
e.Cancel = True
MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:20:00 [只看该作者]

老师帮忙 

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/28 16:24:00 [只看该作者]

你是要判断所有勾选的行,都满足这个条件才弹出? 
With CurrentTable
    dim del as Boolean=true
    For
 i As Integer = .TopPosition To .BottomPosition
       
If .Rows(i)("YNPay") OrElse .Rows(i)("YNKP") Then
           del=false
             exit for
End If
    Next
End
 With
if del=false then
   MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
end if


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


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

If CurrentTable.Current("YNPay") OrElse CurrentTable.Current("YNKP") Then
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:53:00 [只看该作者]

把代码段1和代码段2放在一起,小递逻辑搞不清楚了,要实现的功能就是:优先判断YNPay和YNKP为真的情况下只提示“已付款或已开piao记录不能删除”(即选中记录中只要有条件为真的情况就只提示,不执行其他操作)否则执行代码段2。

代码段1:
If CurrentTable.Current("YNPay") OrElse CurrentTable.Current("YNKP") Then
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

代码段2:
If Tables("Order").Compute("count(BBCheck)", "BBCheck = true") > 0 Then
    If MessageBox.Show("是否删除选中记录?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes
        DataTables("Order").DeleteFor("BBCheck=true")
    End If
Else
    Syscmd.Row.Delete()
End If


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


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


If CurrentTable.Current("YNPay") OrElse CurrentTable.Current("YNKP") Then
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
    Return
End If


If Tables("Order").Compute("count(BBCheck)", "BBCheck = true") > 0 Then
    If MessageBox.Show("是否删除选中记录?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes
        DataTables("Order").DeleteFor("BBCheck=true")
    End If
Else
    Syscmd.Row.Delete()
End If
 


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 17:04:00 [只看该作者]

这样写如果选中两条记录的时候(一条记录YNPay=true,另一条记录为YNPay=false)结果还是被删除了。是不是得用循环来判断啊?

 回到顶部
总数 24 1 2 3 下一页