以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]正副本表的行联动  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43029)

--  作者:sensen9025
--  发布时间:2013/11/28 15:22:00
--  [求助]正副本表的行联动
 

If Forms("w_make").Opened Then \'如果窗口已经打开

    If e.Table.current IsNot Nothing Then 

        Dim dr As DataRow = e.Table.Current.DataRow

        For Each ftb As WinForm.Table In Forms("w_make").controls   \'遍历窗体中的表,窗体中有五个副本表,要随正本表的行联动。

 

            If ftb.Table.Name="w_make_table_gule"         \'table_gule为副本表

                If ftb.Table.Current IsNot Nothing Then

                    Dim wz As Integer = ftb.Table.FindRow(dr)

                    If wz >=0 Then

                        ftb.Table.Position=wz

                    End If

                End If

            End If

           

        Next

    End If

End If

上面的代码错在哪里呢?可以运行,总是有弹出提示窗。

我的附件总是上传不了。为什么?

谢谢

 


--  作者:Bin
--  发布时间:2013/11/28 15:26:00
--  
弹出什么提示?  上传例子请使用常规浏览器 例如 IE 火狐 谷歌 并且等待文件代码出现才算上传成功.
--  作者:blackzhu
--  发布时间:2013/11/28 15:27:00
--  

副本Table之行位置联动

假定窗口中插入了一个Table控件,绑定到"表A",作为副本。
希望在这个副本Table中选定一行时,表A也能自动选定这一行,实现这个任务很简单,只需将副本Table的CurrentChanged事件代码设置为:

Dim dr As DataRow = e.Table.Current.DataRow
Dim
wz As Integer = Tables("A").FindRow(dr)
If
wz >=0 Then
      Tables(
"
A").Position = wz
End
If

反过来,如果你想在表A选定某行时,副本Table也能同步选定同一样,可以讲表A的CurrentChanged事件代码设置为:

If Forms("窗口1").Opened Then \'如果窗口已经打开
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("窗口1_Table1").FindRow(dr)
   
If wz >=0 Then
        Tables(
"
窗口1_Table1").Position = wz
   
End If
End
If

 


--  作者:狐狸爸爸
--  发布时间:2013/11/28 15:39:00
--  

If Forms("w_make").Opened Then \'如果窗口已经打开
    If e.Table.current IsNot Nothing Then
        Dim dr As DataRow = e.Table.Current.DataRow
        Dim nms() As String = {"Table1","Table2","Table3"} \'请改为各个Table控件的实际名称
        For Each nm As String In nms
            Dim tbl As Table = Tables("w_make" & "_" & nm)
            Dim wz As Integer = tbl.FindRow(dr)
            If wz >=0 Then
                tbl.Position=wz
            End If
        Next
    End If
End If

 

只是非常的不理解,通常最多一个副本,怎么同一个表在同一个窗口会出现五个副本?

[此贴子已经被作者于2013-11-28 15:39:46编辑过]