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


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

主题:条件重置列

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/29 16:54:00 [显示全部帖子]

看不懂,不过RaiseDataColChanged既可以针对整列,也可以设置条件,只针对符合条件的行,还可以针对某个指定的行,请参考:
 
http://help.foxtable.com/topics/1468.htm


你想针对哪一行,或者针对某个某个条件的行,将其作为参数传递给RaiseDataColChanged即可。

 

你可以看看下面的例子,里头的RaiseDataColChanged既有使用条件表达式的,也有单独针对某一行的:

 

http://help.foxtable.com/topics/1453.htm

 

[此贴子已经被作者于2010-12-29 16:54:54编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/29 18:01:00 [显示全部帖子]

可以这样:

 

Dim Filter As String = "报价单号 = '" & Tables("表A").Current("表A") & "'"
DataTables("表B").DataCols("产品ID").RaiseDataColChanged(Filter)

 

还可以这样:

 

For Each r As Row In Tables("表A.表B").Rows
    DataTables("表B").DataCols("产品ID").RaiseDataColChanged(r.DataRow)
Next

 

请仔细体会,务必要理解。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/29 18:46:00 [显示全部帖子]

以下是引用实话实说在2010-12-29 18:30:00的发言:
谢谢,第2段代码满足要求。第1段有点问题

 

显然第一段也是没有错的,错的只是代码中的列名有误:

 

Dim Filter As String = "报价单号 = '" & Tables("表A").Current("报价单号") & "'"
DataTables("表B").DataCols("产品ID").RaiseDataColChanged(Filter)


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/30 9:02:00 [显示全部帖子]

可以:
 
Dim Filter As String = "报价单号 = '" & Tables("表A").Current("报价单号") & "' And  ([_Locked] = False Or [_Locked] Is Null)"
DataTables("表B").DataCols("产品ID").RaiseDataColChanged(Filter)
 
也可以:
 
For Each r As Row In Tables("表A.表B").Rows
    If r.Locked = False  Then
        DataTables("表B").DataCols("产品ID").RaiseDataColChanged(r.DataRow)
    End If
Next

 回到顶部