Foxtable(狐表)用户栏目专家坐堂 → 新增行时自动复制数据表中已经有记录的行


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

主题:新增行时自动复制数据表中已经有记录的行

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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
新增行时自动复制数据表中已经有记录的行  发帖心情 Post By:2011/11/18 15:07:00 [只看该作者]

在窗体中新增一行时,怎么样才能复制数据表已经有的记录行到当前新增行相对应的字段上?

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


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


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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/18 16:00:00 [只看该作者]

在此事件中想通过e.datatable获得当前行,好像不行,是不是只有tables才有current属性,有点混淆了。

 

若在此事件中想获得由窗体传递过来的某行,又应该引用呢,这样的话是不是在不同事件中传递参数,若用全局变量的话,似乎有点不符合逻辑啊

 

另外在代码编辑器的精灵中并没有列出某控制的所有方法属性,比如checkbox的checked属性,dropdownbo的Value,没有列出的好像都是些常用的,呵呵~


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


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

1、要灵活变通,复制当前行,这样设置事件代码就行了:
  
Dim r As Row = Tables("表名").Current
For Each dc As DataCol In e.DataTable.DataCols
     e.DataRow(dc.Name) = r(dc.Name)
Next

 

2、代码编辑器不全的,以帮助为准。

 


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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/18 17:21:00 [只看该作者]

事先在datacolchanging中禁止某列重复,若此时在datarowadding中新增以上代码,代码运行过程中一定会出现某列重复提示的,那该如何避免?


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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/18 17:23:00 [只看该作者]

前提是某列值是否重复,是必须要有的检查


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


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

以下是引用RandyBoy在2011-11-18 17:21:00的发言:

事先在datacolchanging中禁止某列重复,若此时在datarowadding中新增以上代码,代码运行过程中一定会出现某列重复提示的,那该如何避免?

 

 

Dim r As Row = Tables("表名").Current
For Each dc As DataCol In e.DataTable.DataCols

    if dc.Name <> "禁止重复列的列名" Then
          e.DataRow(dc.Name) = r(dc.Name)

    end if
Next


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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/18 17:29:00 [只看该作者]

图片点击可在新窗口打开查看 ,发现狐狸爸爸的心态很好,很有耐心,辛苦了~~~

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


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/18 17:41:00 [只看该作者]

这样禁止后,被禁止的值无法被复制了,是不是可以把datacolchanging中禁止某列重复的代码统一在行保存按扭上检查执行?


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


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

你的问题已经自相矛盾了,既然要禁止重复,就不应该复制啊。

 


 回到顶部
总数 13 1 2 下一页