以文本方式查看主题 - 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 --
发现每次切换表都实行定位到第一列和最未行不符合实际操作需要, 应该只需要首次切换表时实行定位 主要是每次查看关联表数据时,总是会自动定位到最左边的列
|
||||
-- 作者:有点蓝 -- 发布时间: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) |