以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请问如何实现在切换表的时候,焦点单元格自动显示在表的第一列,以及最后的非空行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93704)

--  作者:bbgg945
--  发布时间:2016/12/5 12:02:00
--  [求助]请问如何实现在切换表的时候,焦点单元格自动显示在表的第一列,以及最后的非空行?
请问如何实现在切换表的时候,焦点单元格自动显示在表的第一列,以及最后的非空行?
--  作者:有点蓝
--  发布时间:2016/12/5 14:06:00
--  


CurrentTableChanged事件

Dim dr As DataRow = CurrentTable.DataTable.Find("第一列 is not null","[_Identify] desc")
Dim idx As Integer = CurrentTable.FindRow(dr)
If idx > = 0 Then CurrentTable.Select(idx,0)

--  作者:bbgg945
--  发布时间:2016/12/5 19:30:00
--  
提示未找到第一列
--  作者:bbgg945
--  发布时间:2016/12/5 19:44:00
--  

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

--  作者:有点蓝
--  发布时间:2016/12/5 20:40:00
--  
Dim dr As DataRow = CurrentTable.DataTable.Find(CurrentTable.Cols(0).Name & " Is not null","[_Identify] desc")
Dim idx As Integer = CurrentTable.FindRow(dr)
If idx > = 0 Then CurrentTable.Select(idx,0)

--  作者:bbgg945
--  发布时间:2016/12/5 21:31:00
--  
还是不行啊
--  作者:bbgg945
--  发布时间:2016/12/5 21:36:00
--  
CurrentTable.Select(CurrentTable.Rows.Count-1,0)
如果要对所有表有效,用这个基本达到了预期效果(是最后一行了)

--  作者:有点蓝
--  发布时间:2016/12/5 21:37:00
--  
上例子说明,我测试没有问题
--  作者:bbgg945
--  发布时间:2016/12/5 23:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试ok8.zip

发现每次切换表都实行定位到第一列和最未行不符合实际操作需要,
应该只需要首次切换表时实行定位
主要是每次查看关联表数据时,总是会自动定位到最左边的列图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/12/6 9:17:00
--  
测试没有问题,如果想只有第一次,全局代码定义一个变量
Public lst As new List(of String)

事件代码
If lst.contains(CurrentTable.Name) Then Return
Dim dr As DataRow = CurrentTable.DataTable.Find(CurrentTable.Cols(0).Name & " Is not null","[_Identify] desc")
Dim idx As Integer = CurrentTable.FindRow(dr)
If idx > = 0 Then CurrentTable.Select(idx,0)
lst.add(CurrentTable.Name)