Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口绑定内容和实际表选择内容不同步


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

主题:[求助]窗口绑定内容和实际表选择内容不同步

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


加好友 发短信
等级:超级版主 帖子:109681 积分:558103 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/15 10:34:00 [显示全部帖子]

With Tables("表A")
    If .Position < .Rows.count - 1  Then
        If Tables("表A").current.IsNull("number") = False
            .Position = .position + 1
        End If
    Else
        msgbox("已经到达最后一张单据!")
    End If
End With

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


加好友 发短信
等级:超级版主 帖子:109681 积分:558103 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/15 14:35:00 [显示全部帖子]

这个可能是个bug,这样处理一下

If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r1 As Row = e.Table.Rows(e.NewRange.RowSel)'定义新选择的行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
        If r.IsNull("number")  Then  '如果编号为空
            e.Cancel = True
e.Table.Position = e.OldRange.RowSel 
        End If
    End If
End If

 回到顶部