以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]新增行,焦点不在新增行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124955)

--  作者:blsu33
--  发布时间:2018/9/17 11:00:00
--  [求助]新增行,焦点不在新增行
老师,
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增加行.foxdb

希望新增行后,焦点在新增行,例子怎么不行。

--  作者:blsu33
--  发布时间:2018/9/17 11:03:00
--  
项目的 BeforeSelChange 标注颜色的部分去掉,就正常,但是标注颜色的部分是修改过的行,不能离开当前行。

If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    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("id") Then  \'如果编号为空
            e.Cancel = True
            e.Table.Position=r.Index
        ElseIf e.Table.Current.DataRow.RowState<>DataRowState.Unchanged Then
            e.Cancel = True
            e.Table.Position=r.Index
        End If
    End If
End If

--  作者:有点甜
--  发布时间:2018/9/17 11:12:00
--  
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    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("id") Then  \'如果编号为空
            e.Cancel = True
            e.Table.Position=r.Index
        ElseIf r.DataRow.RowState<>DataRowState.Unchanged Then
            e.Cancel = True
            e.Table.Position=r.Index
        End If
    End If
End If