以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 禁止移动行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102308) |
-- 作者:peibaomin -- 发布时间:2017/6/17 0:56:00 -- 禁止移动行 在修改数据未保存之前怎么代码怎么设置不允许移动到其他行 |
-- 作者:有点蓝 -- 发布时间:2017/6/17 9:04:00 -- 参考:http://www.foxtable.com/webhelp/scr/0644.htm 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) \'获得原来选择的行 If r.DataRow.RowState <> DataRowState.Unchanged Then e.Cancel = True msgbox("请先保存") End If End If End If |
-- 作者:裴保民 -- 发布时间:2017/6/17 9:15:00 -- 禁止移动行的代码是‘’e.Cancel = True‘’吗? |
-- 作者:有点蓝 -- 发布时间:2017/6/17 9:42:00 -- 2楼完整代码才是,这是一整个逻辑判断处理的过程。仅仅一句代码是没有用的 |
-- 作者:裴保民 -- 发布时间:2017/6/17 17:34:00 -- 如果点击窗体上修改按钮,因为没有绑定表,表中的数据不可能发生变化,用上面的代码不可能实现此功能,用什么方法实现只要单击修改数据按钮就执行禁止移动,直至到单击保存数据才可以恢复行的正常移动功能,请问应编写什么代码来执行此功能呀? [此贴子已经被作者于2017/6/18 9:10:56编辑过]
|
-- 作者:裴保民 -- 发布时间:2017/6/18 9:16:00 -- 如果点击窗体上修改按钮,因为没有绑定表,表中的数据不可能发生变化,用上面的代码不可能实现此功能,用什么方法实现只要单击修改数据按钮就执行禁止移动,直至到单击保存数据才可以恢复行的正常移动功能,请问应编写什么代码来执行此功能呀?谢谢
|
-- 作者:cbt -- 发布时间:2017/6/18 11:07:00 -- 先定义一个全局变量
然后 在 BeforeSelRangeChange 事件弄个 开关 if qjkg=false then e.Cancel=True \'取消改变行 end if 在你那个按键 修改数据 点击事件加上 qjkg=false
-------------以上只是参考,具体得自己尝试! |
-- 作者:peibaomin -- 发布时间:2017/6/18 16:10:00 -- 如何只限制不能移动行,在本行内字段之间是可以移动的,因为要编辑数据,否则就编辑不了数据了 |
-- 作者:有点色 -- 发布时间:2017/6/18 16:18:00 -- If qjkg=False Then If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行 e.Cancel=True \'取消改变行 End If End If |