以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口中副本table,复制后无法显示新加行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129740)

--  作者:szsmall
--  发布时间:2019/1/4 22:24:00
--  窗口中副本table,复制后无法显示新加行

temp2:  窗口里的总表和明细表,都设置成副本,明细表添加下面复制代码,复制时自动添加行。但窗口的明细表,不能显示新加的行。DataTable明细表已经有这些空行,内容却是空。有办法复制内容到窗口中明细表,能自动添加总号、明细号、内容。

temp3 : 现在解决方法是都设置成正本,明细表用关联表。

----- keydown -----  

Dim t As Table = e.Table
If e.Control = True AndAlso t.Current IsNot Nothing Then
    Dim r As Integer = t.RowSel
    If e.KeyCode = keys.V Then
        Dim str As String = ClipBoard.GetText        
        Dim nr As Integer = str.Replace(vblf,"").Trim(vbcr).Split(vbcr).Length + (t.RowSel) - t.Rows.Count        
        If nr > 0 Then
            t.AddNew(nr)
            t.Select(r,t.ColSel)
        End If
    End If
End If



图片点击可在新窗口打开查看此主题相关图片如下:6.gif
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:temp3(关联表可正常添加).table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:temp2(副本不能添加).table


[此贴子已经被作者于2019/1/4 22:24:29编辑过]

--  作者:有点蓝
--  发布时间:2019/1/4 22:56:00
--  
因为你窗口表做了筛选,到窗口明细表副本的keydown事件写代码

\'复制,自动增加行
Dim t As Table = e.Table
If e.Control = True AndAlso t.Current IsNot Nothing Then
    Dim r As Integer = t.RowSel
    If e.KeyCode = keys.V Then
        Dim str As String = ClipBoard.GetText
        Dim nr As Integer = str.Replace(vblf,"").Trim(vbcr).Split(vbcr).Length + (t.RowSel) - t.Rows.Count
        If nr > 0 Then
            For i As Integer = 1 To nr
                Dim dr As Row = t.AddNew()
                dr("总号") = e.Form.Controls("Table总表").Table.current("总号")
            Next
            t.Select(r,t.ColSel)
        End If
    End If
End If