以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选只剩一行时勾选上一行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88008)

--  作者:douglas738888
--  发布时间:2016/7/24 20:44:00
--  筛选只剩一行时勾选上一行的问题
请教老师,以下代码的使用,如果筛选后只剩一行时,对上一行的勾选是不能实现的,怎样才能实现,筛选只剩一行时,也能勾选未显示出来的上一行。

If Forms("设计待审").Opened Then
Dim r As Row = Tables("设计待审_Table3").Current
Dim idx As Integer = r.Index - 1
If idx >= 0 Then
   If r("回退") = True Then
    r = Tables("设计待审_Table3").Rows(idx)
    r("审批完成") = False
    r("流转") = False  
      End If
   End If
End If

--  作者:Hyphen
--  发布时间:2016/7/25 8:42:00
--  
没有任何办法,table只能对加载的行操作。

如果数据有严格的顺序,可以通过Datatable查询出来添加到table中,然后勾上。

--  作者:douglas738888
--  发布时间:2016/7/25 9:46:00
--  
老师,以下这段代码 用了_Sortkey,设置了标志行   是可以筛选后只剩一行时可向下勾选的,(下一行也未显示出来的时候)   

\'----------------审批完成勾选,下一行流转自动勾选     
If e.Col.name="审批完成" AndAlso e.Row("审批完成")=True  Then
    Dim fdr As DataRow = e.Table.DataTable.find("任务索引 = \'" & e.Row("任务索引") & "\'and _Sortkey >= " & e.Row("_Sortkey") & " and _Identify <> " & e.Row("_Identify"), "_Sortkey ")
    If fdr IsNot Nothing  Then
        fdr("流转") = True     
     End If
End If
[此贴子已经被作者于2016/7/25 9:51:14编辑过]

--  作者:douglas738888
--  发布时间:2016/7/25 11:49:00
--  
请教老师,以下代码的使用,如果筛选后只剩一行时,对上一行的勾选是不能实现的,怎样才能实现,筛选只剩一行时,也能勾选未显示出来的上一行。  是否有解决办法??

If Forms("设计待审").Opened Then
Dim r As Row = Tables("设计待审_Table3").Current
Dim idx As Integer = r.Index - 1
If idx >= 0 Then
   If r("回退") = True Then
    r = Tables("设计待审_Table3").Rows(idx)
    r("审批完成") = False
    r("流转") = False  
      End If
   End If
End If

--  作者:大红袍
--  发布时间:2016/7/25 12:14:00
--  

 上一行,下一行这样的判断是不准确的啊。不要这样处理数据。

 

 尽量像3楼那样find数据。