Foxtable(狐表)用户栏目专家坐堂 → 求助换行前保存当前行的代码


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

主题:求助换行前保存当前行的代码

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
求助换行前保存当前行的代码  发帖心情 Post By:2011/6/20 8:28:00 [只看该作者]

求助换行前保存当前行的代码

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


加好友 发短信
等级:狐神 帖子:6833 积分:43228 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/6/20 8:39:00 [只看该作者]

这个,我也求助过,没有人能解决。


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


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

设置在BeforeSelChange事件:

 

If e.OldRange.RowSel <> e.NewRange.RowSel Then
    e.Table.Current.Save()
End If

 


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/6/20 9:48:00 [只看该作者]

我在采购订单表的BeforeSelChange事件设置代码为:

If e.Table.Current IsNot Nothing Then '如果当前行是数据行,也就是Current属性不为空
    If e.NewRange.RowSel <> e.OldRange.RowSel Then '而且即将选择另一行
        If e.Table.Current.IsNull("供应商_名称") OrElse e.Table.Current.IsNull("供应商_帐户名称") OrElse e.Table.Current.IsNull("采购用途") Then '如果编号列为空
            MessageBox.Show("采购订单表中当前行的'供应商名称;供应商帐户名称,采购用途'均为必输项不能为空,请完整录入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) '提示用户
            e.Cancel = True '那么取消操作
        Else
            e.Table.Current.Save()
        End If
    End If
End If

窗口增加行按钮代码为:

Tables("采购订单").AddNew()
e.Form.Controls("DateTimePicker1").Select()

当按窗口增加行按钮时,项目就自动关闭退出了,这是为什么?


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


加好友 发短信
等级:二尾狐 帖子:546 积分:3903 威望:0 精华:0 注册:2011/5/24 15:35:00
  发帖心情 Post By:2011/6/20 9:59:00 [只看该作者]

该系统还需要不断完善,出现问题应该提示所出现的问题,供修改,不能直接退出系统。

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/6/20 10:01:00 [只看该作者]

狐爸,看看4楼的代码,哪里有问题呀?

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


加好友 发短信
等级:狐神 帖子:6833 积分:43228 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/6/20 10:05:00 [只看该作者]

增加beforechangrow事件。

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2011/6/20 10:10:00 [只看该作者]

初步了解你的需求,还是上传个项目过来,这样你的问题才会彻底解决。

 

因为可以解决的办法是有很多种的。


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


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

4楼代码的逻辑有问题,你应该另外在BeforeAddDataRow事件也设置一下代码:
 
http://help.foxtable.com/topics/0629.htm


 
当前行不符合条件,就禁止增加行。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/6/20 10:21:00 [只看该作者]

1、直接这样:

If e.NewRange.RowSel <> e.OldRange.RowSel Then '而且即将选择另一行
    If e.Table.Current.IsNull("供应商_名称") OrElse e.Table.Current.IsNull("供应商_帐户名称") OrElse e.Table.Current.IsNull ("采购用途") Then '如果编号列为空
        MessageBox.Show("采购订单表中当前行的'供应商名称;供应商帐户名称,采购用途'均为必输项不能为空,请完整录入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) '提示用户
        e.Cancel = True '那么取消操作
    Else
        e.Table.Current.Save()
    End If
End If
2、屏蔽掉这一句,以后手工选择:

      e.Form.Controls("DateTimePicker1").Select()

主要怀疑第二点,当Tables("采购订单").AddNew()触发事件,正在执行的同时e.Form.Controls("DateTimePicker1").Select()让采购订单表表失去了焦点,导致该事件的 e.Table.Current 执行错误。

 

仅个人认为,可能是上述逻辑错误,没测试,也可能判断不准确,如果您测试确实如此,那就有解决办法!


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