Foxtable(狐表)用户栏目专家坐堂 → Position定位不对


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

主题:Position定位不对

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


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
Position定位不对  发帖心情 Post By:2020/2/14 19:50:00 [只看该作者]

老师,出现个怪问题,我的窗口表Table1,同时在窗口中使用了RecordGrid,然后在afterSel中判断旧的行是不是有未填字段,然后进行提示是否保存,但是我选择否以后,我希望是Table回到以前的行,但是为什么回不去啊?但是RecordGrid是回去的,这是什么问题?
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.DataRow.RowState <> DataRowState.Unchanged Then
            '提示是否需要保存原来的数据,然后在切换过去
            If MessageBox.Show("当前数据有更新,需要保存吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)=DialogResult.Cancel Then
                '切换回到原来的那行
                Dim idx As Integer = e.Table.FindRow(r.DataRow)
                e.Table.Position = idx
                Return
            End If
            r.Save
        End If
    End  If
End If

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


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2020/2/14 19:54:00 [只看该作者]

就是这样的问题,我切换选中行,跳出提示,然后我选否,RecordGird回到123这行了,但是Table的高亮显示,总是跳到新行去

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


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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/14 20:38:00 [只看该作者]

这种用法应该放到BeforeSelChange事件:http://www.foxtable.com/webhelp/topics/0644.htm

取消换行使用e.cancel即可

 回到顶部