以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表里面如何做成点击最后一行添加数据这样子?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169078)

--  作者:zto001
--  发布时间:2021/6/1 20:51:00
--  [求助]表里面如何做成点击最后一行添加数据这样子?
图片点击可在新窗口打开查看
[求助]表里面如何做成这样子?
最后一行点击可以添加数据,填入数据保存该行,里面的数据为空时不能点击下一个空白行?

--  作者:有点蓝
--  发布时间: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
--  发布时间: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
我改成了这样,正好符合需要的。但是一直弹错,这个怎么弄?

--  作者:有点蓝
--  发布时间:2021/6/3 9:00:00
--  
移不开当前行是正常的,Foxtable的增加表功能就是这样,必须录入第一列数据才能移开。1楼的要求不也是这样吗?“里面的数据为空时不能点击下一个空白行?