以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何对findrow到的行进行操作  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63389)

--  作者:rs033
--  发布时间:2015/1/20 9:37:00
--  请问如何对findrow到的行进行操作
窗口中的表,使用findrow,对查找到的行如何操作?

Dim dr As DataRow
dr =
DataTables("订单").Find("[产品] = \'PD01\'", "日期 Desc")
If
dr IsNot Nothing Then
    Dim
wz As Integer = Tables("订单").FindRow(dr)
    If
wz >= 0 Then
        Tables
("订单").Position = wz

    End If
End If


我想对查找到的行的复选框进行操作如何写?


--  作者:Bin
--  发布时间:2015/1/20 9:39:00
--  
Tables("订单").rows(wz).checked=true
--  作者:rs033
--  发布时间:2015/1/20 10:01:00
--  
谢谢老师
--  作者:rs033
--  发布时间:2015/1/20 14:18:00
--  
请问如果查找到的结果是多行,并将这些行选中复选框如何操作?
--  作者:Bin
--  发布时间:2015/1/20 14:20:00
--  
dr = DataTables("订单").Find("[产品] = \'PD01\'""日期 Desc")

改为 Select  然后遍历利用FInDrow 逐一找到行然后设置

--  作者:有点甜
--  发布时间:2015/1/20 14:20:00
--  

 

[此贴子已经被作者于2015-1-20 14:20:36编辑过]

--  作者:有点甜
--  发布时间:2015/1/20 14:26:00
--  
Dim idx As Integer = -1
Do While True
    idx = Tables("表A").FindRow("第一列 = \'22\'", idx+1, False)
    If idx > -1 Then
        Tables("表A").Rows(idx).Checked = True
    Else
        Exit Do
    End If
Loop

--  作者:rs033
--  发布时间:2015/1/20 15:07:00
--  
这是写在窗口表(副表)中click事件中的代码,实现的目的是,如果当前行复选框被选中且[识别码]不为空的话,查找与当前行[识别码]一致的行,如果有(可能是多个行)则一起被选中,同理,如果当前行复选框不选中,则查找到的行也都不选中,按甜老师的方法好像不起作用,用Select好像只能针对datarow,不能操作复选框。
Dim d As Row =e.Table.Current
If d.Checked = True
    d.Checked = False
    If d("识别码") <> "" Then
        Dim th As String = d("识别码")
        Dim idx As Integer = -1
        Do While True
            idx = Tables("财务管理_副表1").FindRow("识别码 = \'& th &\'", idx+1, False)
            If idx > -1 Then
                Tables("财务管理_副表1").Rows(idx).Checked = False
            Else
                Exit Do
            End If
        Loop
    End If    
Else
    d.Checked = True
     ………………
End If
说明一下,单击首先改变复选框状态。
[此贴子已经被作者于2015-1-20 15:13:08编辑过]

--  作者:有点甜
--  发布时间:2015/1/20 15:20:00
--  

如下,不行就上传例子。

 

Dim d As Row =e.Table.Current


If d.Isnull("识别码") = False Then
    Dim th As String = d("识别码")
    Dim idx As Integer = -1
    Do While True
        idx = Tables("财务管理_副表1").FindRow("识别码 = \'& th &\'", idx+1, False)
        If idx > -1 Then
            Tables("财务管理_副表1").Rows(idx).Checked = d.Checked
        Else
            Exit Do
        End If
    Loop
End If


--  作者:rs033
--  发布时间:2015/1/20 15:58:00
--  
怎么不能上
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目 ttsc.table

传吗
[此贴子已经被作者于2015-1-20 15:59:04编辑过]