以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 光标留在当前行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74649)

--  作者:wumingrong1
--  发布时间:2015/9/16 9:08:00
--  [求助] 光标留在当前行
当我点击序号为8的那一行后、如果我进行了筛选操作;那么光标会继续留在序号为8的那一行。

但是如果我希望筛选操作后、光标能够留在筛选前的 _Identify 相同的那一行;

AfterLoad中、我的命令该怎么写?
[此贴子已经被作者于2015/9/16 9:08:25编辑过]

--  作者:大红袍
--  发布时间:2015/9/16 9:46:00
--  

呃,你想设置到哪里都行,自己设置

 

http://www.foxtable.com/help/topics/0553.htm

 


--  作者:wumingrong1
--  发布时间:2015/9/16 10:27:00
--  
AfterLoad中写有以下命令



Tables("GPON口与分纤盒对应关系表").Filter = "机房名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("机房名称") & "\' And 设备名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("设备名称") & "\'  "

Dim dr As DataRow
Dim po As Integer
dr = DataTables("GPON口与分纤盒对应关系表").Find("_Identify = \'" & Tables("GPON口与分纤盒对应关系表").Current("_Identify") & "\'") 
po = Tables("GPON口与分纤盒对应关系表").FindRow(dr)
If po >= 0 Then \'如果找到
    Tables("GPON口与分纤盒对应关系表").Position = po \'选定
End If



如下图目前光标在第3行

此主题相关图片如下:360截图20150916102546412.jpg
按此在新窗口浏览图片
执行以上命令后光标还是在第3行、如果我想实现光标跟随筛选前的第3行所在的内容将光标跟随改变到第1行;命令该怎么修改?

此主题相关图片如下:360截图20150916102608394.jpg
按此在新窗口浏览图片


[此贴子已经被作者于2015/9/16 11:14:45编辑过]

--  作者:大红袍
--  发布时间:2015/9/16 10:52:00
--  

代码大致这样

 

Dim idx As String = Tables("报价主表").Current("_Identify")
 
\'筛选代码
 
Dim n As Integer = Tables("报价主表").FindRow("_Identify = \'" & idx & "\'")
If n >= 0 Then
    Tables("报价主表").Position = n
End If

--  作者:wumingrong1
--  发布时间:2015/9/16 11:08:00
--  
测试了、光标还是留着筛选前的那个序号行、而没有跟随移动到与筛选前相同【分纤盒编号】的行。

(前面的写错了,筛选应该是筛选本表中符合条件的行;同时筛选后光标能够跟随筛选前【分纤盒编号】相同的行上)


‘筛选符合条件的行
Tables("GPON口与分纤盒对应关系表").Filter = "机房名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("机房名称") & "\' And 设备名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("设备名称") & "\'  "


’将光标移动到与筛选前【分纤盒编号】相同的那一行
Dim idx As String = Tables("GPON口与分纤盒对应关系表").Current("分纤盒编号")  
Dim n As Integer = Tables("GPON口与分纤盒对应关系表").FindRow("分纤盒编号 = \'" & idx & "\'")
If n >= 0 Then
    Tables("GPON口与分纤盒对应关系表").Position = n
End If
  
   

[此贴子已经被作者于2015/9/16 11:18:09编辑过]

--  作者:大红袍
--  发布时间:2015/9/16 11:15:00
--  

 

Dim idx As String = Tables("GPON口与分纤盒对应关系表").Current("分纤盒编号") 

Tables("GPON口与分纤盒对应关系表").Filter = "机房名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("机房名称") & "\' And 设备名称= \'" & Tables("GPON口与分纤盒对应关系表").Current("设备名称") & "\'  "

Dim n As Integer = Tables("GPON口与分纤盒对应关系表").FindRow("分纤盒编号 = \'" & idx & "\'")
If n >= 0 Then
    Tables("GPON口与分纤盒对应关系表").Position = n
End If


--  作者:wumingrong1
--  发布时间:2015/9/16 11:33:00
--  
还是不行,会出现先将光标移动到【分纤盒编号】相同的行后、马上又移动回筛选前的那个序号行。
--  作者:大红袍
--  发布时间:2015/9/16 11:37:00
--  

我测试没问题

 

Dim idx As String = Tables("表A").Current("第一列") 

Tables("表A").Filter = "第二列 = \'2\'"

Dim n As Integer = Tables("表A").FindRow("第一列 = \'" & idx & "\'")
If n >= 0 Then
    Tables("表A").Position = n
End If


--  作者:wumingrong1
--  发布时间:2017/2/23 11:09:00
--  

如果查询到【网格人员清单表】中有和【装机工单表】中当前行的装维人员姓名相同;那么将【网格人员清单表】的光标移动该行。我的命令该怎么写?

 

Dim r As Row = Tables("装机工单表").current
Dim dr1 As DataRow = DataTables("网格人员清单表").Find("装维人员姓名 = \'" & r("装维人员姓名") & "\' ")
If dr1 IsNot Nothing Then

  ?????

Else
End If


--  作者:有点色
--  发布时间:2017/2/23 11:29:00
--  

Dim r As Row = Tables("装机工单表").current
Dim idx As Integer = Tables("网格人员清单表").FindRow("装维人员姓名 = \'" & r("装维人员姓名") & "\' ")
If idx >= 0 then

    Tables("网格人员清单表").Position = idx

End If