以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  Ctrl+D 快捷键问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78767)

--  作者:sf020cf
--  发布时间:2015/12/16 17:26:00
--  Ctrl+D 快捷键问题

项目菜单已导入(系统菜单) 把原来的Ctrl+d 改为其他快捷键也不没用 后来才知道模式窗口没用 当时都用模式窗口设计的

那么问题是所有窗口都是模式窗 那所用表都要在keydown加代码吗 我加了这段代码 一次只能填充一行

If Forms("调度配载").Opened Then
    If e.control = True AndAlso e.keycode = Keys.D Then
         If e.Table.Position > 0 Then
             e.Table.Current(e.Table.ColSel) = e.Table.Rows(e.Table.Position - 1)(e.Table.Colsel)
        End If
    End If
End If

 而这段又报错

If e.Control = True AndAlso e.KeyCode = Keys.D Nothing Then

   Dim c AS integer = e.Table.Cols(e.Table.Colsel) ‘当前列位置

   if r.Index < e.Table.Rows.Count  -1 Then  ‘如果不是最后一行

            r1(cn) = r2(cn)

End if

 

 

[此贴子已经被作者于2015/12/16 17:27:19编辑过]

--  作者:Hyphen
--  发布时间:2015/12/17 8:29:00
--  
做个循环,以下代码可以填充多行多列

If Forms("调度配载").Opened Then
    If e.control = True AndAlso e.keycode = Keys.D Then
         If e.Table.BottomPosition >  e.Table.TopPosition Then    
              For i As Integer = e.Table.TopPosition+1 To e.Table.BottomPosition
                  For j As Integer = e.Table.LeftCol To e.Table.RightCol
                      e.Table.Rows(i)(j) = e.Table.Rows(e.Table.TopPosition)(j)           
                  Next       
               Next
          End If
    End If
End If