Foxtable(狐表)用户栏目专家坐堂 → [求助]新增行时自动携带上一行的数值


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

主题:[求助]新增行时自动携带上一行的数值

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


加好友 发短信
等级:一尾狐 帖子:431 积分:2808 威望:0 精华:0 注册:2008/9/1 8:46:00
[求助]新增行时自动携带上一行的数值  发帖心情 Post By:2008/10/31 10:33:00 [只看该作者]

     新增行时自动携带上一行的数值,类似易表中cell(row-1,col), 如何实现?

     是在表属性中的DataRowAdding事件中,写入代码吗?怎样写,请帮助一下,谢谢!

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


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

如果要整行复制:

With Tables("表名")
       .Rows(.Rows.Count - 1).Clone

End With

如果要单独复制某几列,请在DatarowAdding事件中设置代码:
 

Dim ColNames() As String = {"第一列","第二列","第三列","第四列"}

Dim dr As Row = Tables("A").Current

If dr Is Nothing Then

    Return

End If

For Each ColName As String In ColNames

    e.DataRow(ColName) = dr(ColName)

Next


ColNames数组包括要复制的列的名称,请根据需要修改列名和表名:

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.table


[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/10/31 10:55:00 [只看该作者]

现在有默认值啊,可以在列属性默认值中设置。
DataRowAdding事件代码,这样行吗?
   

e.DataRow("列名") = CurrentTable.Rows(CurrentTable.Rows.Count - 1)("列名")


  

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


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

如果只是复制一列,就用c版的代码吧

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


加好友 发短信
等级:一尾狐 帖子:431 积分:2808 威望:0 精华:0 注册:2008/9/1 8:46:00
  发帖心情 Post By:2008/10/31 11:57:00 [只看该作者]

     谢谢了!!

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


加好友 发短信
等级:一尾狐 帖子:431 积分:2808 威望:0 精华:0 注册:2008/9/1 8:46:00
  发帖心情 Post By:2008/10/31 12:51:00 [只看该作者]

     
现在有默认值啊,可以在列属性默认值中设置。

e.DataRow("列名") = CurrentTable.Rows(CurrentTable.Rows.Count - 1)("列名")


        1)经测试,在列属性默认值中设置以上公式,提示错误!如果是日期字段,复制的日期非上一行的日期。

      2)在DataRowAdding事件中,加入上述代码,可实现此功能。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/10/31 13:49:00 [只看该作者]

默认值只能定义一些简单的,如Date(),不支持代码。
三楼代码的确只适合放到DataRowAdding事件中。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/11/4 18:40:00 [只看该作者]

以下是引用t_fs在2008-10-31 10:33:00的发言:
     新增行时自动携带上一行的数值,类似易表中cell(row-1,col), 如何实现?

     是在表属性中的DataRowAdding事件中,写入代码吗?怎样写,请帮助一下,谢谢!

 在新增行菜单中,直接克隆行不是更加简单,同样按一下按钮。


 回到顶部