Foxtable(狐表)用户栏目专家坐堂 → 关于For Next 及上一行的问题,为什么这样的代码不行呢?


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

主题:关于For Next 及上一行的问题,为什么这样的代码不行呢?

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
关于For Next 及上一行的问题,为什么这样的代码不行呢?  发帖心情 Post By:2011/1/27 14:47:00 [只看该作者]

设定一个这样的表,

然后

第四列的代码

DataColChanged

If e.DataCol.Name = "第四列" Then
    Dim drs As List(Of DataRow) = e.DataTable.Select("[_SortKey] > -1", "[_SortKey]")
    For n As Integer = 0 To drs.Count - 1 '遍历所有行
        If drs(n).Isnull("第一列")  Then
            drs(n)("第一列") = drs(n-1)("第一列")
        Else
            Return
        End If
    Next
End If


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


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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2011/1/27 15:15:00 [只看该作者]

这样的代码也不行:

Select Case e.DataCol.Name
    Case "第四列"
        Dim p1 As Row
        Dim p2 As Row
        For i As Integer = 1  To Tables("表A").Rows.Count -1
            p2 = Tables("表A").Rows(i)
            p1 = Tables("表A").Rows(i-1)
           
            If p2("第一列") Is Nothing Then
                p2("第一列")=p1("第一列")
            End If
        Next
End Select


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/1/27 16:27:00 [只看该作者]

呵呵,先说说你的目的是什么?

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2011/1/27 16:54:00 [只看该作者]

就是想当第一列的内容为空的时候,将它的上一行的内容复制过来,这个目的我用其它代码解决了,但现在还不明白为何上面这些方法为何行不通呢?
[此贴子已经被作者于2011-1-27 16:53:49编辑过]

 回到顶部