Foxtable(狐表)用户栏目专家坐堂 → 条件


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

主题:条件

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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
条件  发帖心情 Post By:2012/3/28 11:29:00 [只看该作者]

表shzz中有“年度”列,我想实现以下功能,当某一行数据的列“年度”值不一样时,复制这一行数据到新增加的一行,请教专家,该如何编写代码

 


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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
  发帖心情 Post By:2012/3/28 11:36:00 [只看该作者]

狐狸爸爸,你在吗,请帮忙看看吧

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


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

做个简单的例子发上来,否则别人很难理解你的问题。

 


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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
  发帖心情 Post By:2012/3/28 14:43:00 [只看该作者]

If e.DataRow("年度").NewValue <> e.OldValue Then
   Return
   End If
End If
Dim dr As DataRow
dr = DataTables("shzz").AddNew()
For Each ColName As String In ColNames
e.DataRow(ColName) = dr(ColName)
各位大哥,请看看上面代码在datarowadding事件中,为什么不对

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


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

我看不懂你的代码,新增行哪里来的旧值, 数据还没有输入,实际上datarowadding事件执行的时候,这一行还没有加入到表中呢。

你看看这里的一些示例吧:

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

 


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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
  发帖心情 Post By:2012/3/28 14:54:00 [只看该作者]

就是说,当新输入的年度列的值与先前值不一样时,新增一行,并将这一行的所有列值复制到新增加的一行,

 


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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
  发帖心情 Post By:2012/3/28 15:01:00 [只看该作者]

现在您能看懂吗,先判断“年度”列的值的变化,再复制新增加一行

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


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

那应该设置在DataColChanged事件中,代码为:
 

Select Case e.DataCol.name
    Case "年度"
        If e.OldValue<> e.NewValue AndAlso e.OldValue > "" AndAlso e.NewValue > ""  Then
            Dim dr As DataRow = e.DataTable.AddNew
            For Each dc As DataCol In e.DataTable.DataCols
                dr(dc.name) = e.DataRow(dc.name)
            Next
        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:50 积分:414 威望:0 精华:0 注册:2012/2/25 17:41:00
  发帖心情 Post By:2012/3/28 15:27:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120328152511.jpg
图片点击可在新窗口打开查看

这是我在添加代码后出现的提示,请问狐狸爸爸是什么意思


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目337.table


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