Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
t_fs 发表于:2008/10/31 10:33:00
     新增行时自动携带上一行的数值,类似易表中cell(row-1,col), 如何实现?

     是在表属性中的DataRowAdding事件中,写入代码吗?怎样写,请帮助一下,谢谢!
2楼
狐狸爸爸 发表于: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

3楼
czy 发表于:2008/10/31 10:55:00
现在有默认值啊,可以在列属性默认值中设置。
DataRowAdding事件代码,这样行吗?
   

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


  
4楼
狐狸爸爸 发表于:2008/10/31 11:20:00
如果只是复制一列,就用c版的代码吧
5楼
t_fs 发表于:2008/10/31 11:57:00
     谢谢了!!
6楼
t_fs 发表于:2008/10/31 12:51:00
     
现在有默认值啊,可以在列属性默认值中设置。

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


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

      2)在DataRowAdding事件中,加入上述代码,可实现此功能。
7楼
czy 发表于:2008/10/31 13:49:00
默认值只能定义一些简单的,如Date(),不支持代码。
三楼代码的确只适合放到DataRowAdding事件中。
8楼
blackzhu 发表于:2008/11/4 18:40:00
以下是引用t_fs在2008-10-31 10:33:00的发言:
     新增行时自动携带上一行的数值,类似易表中cell(row-1,col), 如何实现?

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

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

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 3 queries.