Foxtable(狐表)用户栏目专家坐堂 → 请问这段代码那里不对


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

主题:请问这段代码那里不对

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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
请问这段代码那里不对  发帖心情 Post By:2010/7/7 10:17:00 [只看该作者]

Dim tb As Table = Tables("地址")
For i as Integer = tb.TopRow To tb.BottomRow
   For Each k As Row in Tables("地址.用户").Rows
     k("生成房号") = System.Text.RegularExpressions.Regex.Replace(k("房号"), "[\D]", "")
         if K("生成房号").length>2 then
             k("层") = k("生成房号").SubString(0,k("生成房号").Length - 2)
             k("号") = k("生成房号").SubString(k("生成房号").Length - 2)      
        end if
    Next

Next

我想选定Tables("地址")的区域后,连续执行以上代码,但为什么只执行选定的第一行。


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


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

Dim tb As Table = Tables("地址")
For i as Integer = tb.TopRow To tb.BottomRow
   For Each k As DataRow in Tables("地址").Rows(i).GetChildRows("用户")
     k("生成房号") = System.Text.RegularExpressions.Regex.Replace(k("房号"), "[\D]", "")
         if K("生成房号").length>2 then
             k("层") = k("生成房号").SubString(0,k("生成房号").Length - 2)
             k("号") = k("生成房号").SubString(k("生成房号").Length - 2)      
        end if
    Next

Next

 

 

另:建议在foxtable添加System.Text.RegularExpressions命名空间,这样使用起来方便。


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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2010/7/7 11:21:00 [只看该作者]

在foxtable添加System.Text.RegularExpressions命名空间

如何做?


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


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

菜单的外部引用按钮


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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2010/7/7 15:34:00 [只看该作者]

For Each k As DataRow in Tables("地址").Rows(i).GetChildRows("用户")
这句提示GetChildRows不是tables的成员,改成For Each k As DataRow in dataTables("地址").dataRows(i).GetChildRows("用户"),不进行筛选,可以正确计算,但筛选数据后执行,不能计算。应该是datatable和table的区别造成的了。应怎么改代码,才能进行筛选数据后都可以正常计算?
[此贴子已经被作者于2010-7-7 15:49:07编辑过]

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


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

Dim tb As Table = Tables("地址")
For i as Integer = tb.TopRow To tb.BottomRow
   For Each k As DataRow in Tables("地址").Rows(i).DataRow.GetChildRows("用户")
     k("生成房号") = System.Text.RegularExpressions.Regex.Replace(k("房号"), "[\D]", "")
         if K("生成房号").length>2 then
             k("层") = k("生成房号").SubString(0,k("生成房号").Length - 2)
             k("号") = k("生成房号").SubString(k("生成房号").Length - 2)      
        end if
    Next

Next


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


加好友 发短信
等级:幼狐 帖子:188 积分:1947 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2010/7/7 15:52:00 [只看该作者]

谢谢

 回到顶部