Foxtable(狐表)用户栏目专家坐堂 → [求助]表里面如何做成点击最后一行添加数据这样子?


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

主题:[求助]表里面如何做成点击最后一行添加数据这样子?

帅哥,在线噢!
zto001
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1489 积分:10602 威望:0 精华:0 注册:2018/10/16 11:42:00
[求助]表里面如何做成点击最后一行添加数据这样子?  发帖心情 Post By:2021/6/1 20:51:00 [只看该作者]

图片点击可在新窗口打开查看
[求助]表里面如何做成这样子?
最后一行点击可以添加数据,填入数据保存该行,里面的数据为空时不能点击下一个空白行?

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/1 21:59:00 [只看该作者]

StartEdit事件
Select Case e.Col.Name
    Case "第一列"
        Dim r As Row = e.Table.Rows(e.Table.Rows.Count - 1)
        If r("_Identify") = e.Row("_Identify") Then
            e.Table.DataTable.addnew
        End If
End Select

BeforeSelChange事件
If e.OldRange.RowSel <> e.NewRange.RowSel OrElse e.OldRange.ColSel <> e.NewRange.ColSel '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
        If r.IsNull("第一列") Then  '如果编号为空
            msgbox("请输入第一列")
            e.Table.StartEditing
            e.Cancel = True
        End If
    End If
End If

 回到顶部
帅哥,在线噢!
zto001
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1489 积分:10602 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2021/6/2 21:09:00 [只看该作者]

        If r.IsNull("第一列") Then  '如果编号为空
            msgbox("请输入第一列")
            e.Table.StartEditing
            e.Cancel = True
        End If

这个地方这样写的话,就会出现移不开当前行的情况,并且会存在两行空白行。

        If r.IsNull("第一列") Then  '如果编号为空
            msgbox("请输入第一列")
            e. Table.Current.Delete
        End If
我改成了这样,正好符合需要的。但是一直弹错,这个怎么弄?

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/3 9:00:00 [只看该作者]

移不开当前行是正常的,Foxtable的增加表功能就是这样,必须录入第一列数据才能移开。1楼的要求不也是这样吗?“里面的数据为空时不能点击下一个空白行?

 回到顶部