Foxtable(狐表)用户栏目专家坐堂 → 关于取消的问题


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

主题:关于取消的问题

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
关于取消的问题  发帖心情 Post By:2014/3/7 20:47:00 [只看该作者]

在窗口中新增一行,保存,再新增一行,撤销
出现:新增的第二行删除,但新增且已保存的第一行"出库数量"清空,再撤销一次又有了
查看帮助的 Validating 事件,要把"撤销"按钮的"执行验证"属性设为False即可,但还是不管用
"出库数量"的 Validating代码为

Dim c As DataRow = Tables("出库").Current.DataRow
If c.RowState = DataRowState.added Then
    If e.Form.Controls("出库数量").value > e.Form.Controls("库存数量").value Then
        MessageBox.Show("出库数量大于库存数量")
        e.Cancel = True
    End If
End If

撤销的代码为
Dim c As DataRow = Tables("出库").Current.DataRow
If c.RowState = DataRowState.Added Then
    c.Delete()
else
    DataTables("出库").RejectChanges()
end if

补充:只新增一行再撤销,没有问题
可能说的较乱,请大神帮忙,谢谢

[此贴子已经被作者于2014-3-7 20:53:57编辑过]

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


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

 是问怎样才能让 第一行 的出库数量 保持不变?

 

 你看看你的出库数量是根据什么计算的,再看看 DataRowDeleted 事件写了什么代码


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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/3/8 8:57:00 [只看该作者]

有点甜老师
出库数量是人工填写的,DataRowDeleted 事件 里没有代码

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/8 9:08:00 [只看该作者]

Dim c As DataRow = Tables("出库").Current.DataRow
If c.RowState = DataRowState.added Then
    If e.Form.Controls("出库数量").value > e.Form.Controls("库存数量").value Then
        MessageBox.Show("出库数量大于库存数量")
        c("出库数量") = nothing
        e.Cancel = True
    End If
End If
[此贴子已经被作者于2014-3-8 9:08:50编辑过]

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/3/8 16:54:00 [只看该作者]

经过反复试验,可能是与 有多个控件的ValueChanged事件中 Select()到同一个控件造成的,

这样做的原因是不知道下拉窗口取值后,如何跳到另一个控件。

后来在下拉窗口中DoubleClick写

If Forms("窗口1").Opened Then

    Forms("窗口1").Controls("出库数量").Select()

End If

问题解决了,

不知道有没有别的方法。


 回到顶部