Foxtable(狐表)用户栏目专家坐堂 → [求助]表在进行某行编辑时如何保证在编辑状态下不准移出该行?


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

主题:[求助]表在进行某行编辑时如何保证在编辑状态下不准移出该行?

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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
[求助]表在进行某行编辑时如何保证在编辑状态下不准移出该行?  发帖心情 Post By:2022/3/6 19:56:00 [只看该作者]

如何实现一个表在进入某一行编辑时就不允许移出该行,直至保存完成录入工作后解除?


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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


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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2022/3/7 6:12:00 [只看该作者]

希望真正修改某行后或者新增行后,不允许再选择它行。如下代码。
修改的可以控制了。
新增行出现问题。会先出来三次下面(MessageBox.Show)的提示,然后才不能选择它行。
问题是如何在新增行时,不要出现三次提示?



If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
        Dim dr As DataRow = e.Table.Current.DataRow
        If dr.RowState=DataRowState.Modified  Or dr.RowState=DataRowState.Added Then
            '  If dr.RowState=DataRowState.Modified  Then
            MessageBox.Show("正在编辑数据不允许换行.保存数据或撤销修改后可以正常换行!")
            e.Cancel=True
        End If
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220307060606.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

不要一条路走死呀。既然有新增按钮,就在按钮里判断,符合条件的才调用addnew咯。

不需要到表事件处理,如果要到表事件处理也要到和新增相关的表事件处理呀,比如BeforeAddDataRow

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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2022/3/7 17:42:00 [只看该作者]

我希望的是 ,新增按钮按下做了 .AddNew 之后,不允许再移动到其他行,鼠标不管怎么敲,当前行一直是新增的那行。



 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

我测试不会弹出3次,只有一次,请上传实例说明

 回到顶部