Rss & SiteMap

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

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

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

1楼
RandyBoy 发表于:2011/11/18 15:07:00
在窗体中新增一行时,怎么样才能复制数据表已经有的记录行到当前新增行相对应的字段上?
2楼
狐狸爸爸 发表于:2011/11/18 15:25:00

http://www.foxtable.com/help/topics/0630.htm

 

3楼
RandyBoy 发表于:2011/11/18 16:00:00

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

 

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

 

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

4楼
狐狸爸爸 发表于: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、代码编辑器不全的,以帮助为准。

 

5楼
RandyBoy 发表于:2011/11/18 17:21:00

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

6楼
RandyBoy 发表于:2011/11/18 17:23:00

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

7楼
狐狸爸爸 发表于: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

8楼
RandyBoy 发表于:2011/11/18 17:29:00
图片点击可在新窗口打开查看 ,发现狐狸爸爸的心态很好,很有耐心,辛苦了~~~
9楼
RandyBoy 发表于:2011/11/18 17:41:00

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

10楼
狐狸爸爸 发表于:2011/11/18 17:42:00

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

 

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

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

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.