以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  取消清空当前行按钮代码怎么写?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89524)

--  作者:ouyangfenghuan
--  发布时间:2016/8/23 17:12:00
--  取消清空当前行按钮代码怎么写?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
有两个按钮代码请指导

取消清空当前行按钮代码怎么写?

类似表里快捷键ctrl+D复制上一行当前列内容代码?


--  作者:2900819580
--  发布时间:2016/8/23 20:40:00
--  
快捷键ctrl+D:

If e.control = True AndAlso e.keycode = keys.d Then
    Syscmd.Edit.RepeatFill()
End If

--  作者:大红袍
--  发布时间:2016/8/23 21:56:00
--  

清空当前行

 

Dim r As Row = Tables("表a").Current
For Each c As Col In r.Table.cols
    If c.DataCol.Expression = "" Then
        r(c.name) = Nothing
    End If
Next

 

复制上一行

 

Dim r As Row = Tables("表a").Current
If r.index > 0 Then
    Dim pr As Row = r.Table.rows(r.index-1)
    For Each c As Col In r.Table.cols
        If c.DataCol.Expression = "" Then
            r(c.name) = pr(c.name)
        End If
    Next
Else
    msgbox("此行是第一行")
End If


--  作者:ouyangfenghuan
--  发布时间:2016/8/24 13:35:00
--  

老师帮我看下哪里不对,我想做成复制上一行当前列内容的按键

 

Dim t As Table =Tables("生产日报表")
Dim r As Row = t.Current
Dim c As Col = t.Cols(t.Colsel)
If r.index > 0 Then
    Dim pr As Row = r.Table.rows(r.index-1)
    If c.DataCol.Expression = "" Then   这里不懂
    r(c.name) = pr(c.name)
     End If
Else
    MessageBox.Show("此行是第一行")
End If


--  作者:ouyangfenghuan
--  发布时间:2016/8/24 13:47:00
--  

也就是光标移动到窗口的文本框的所在列

按下"复制上一行"按钮复制上一行内容

 

 


--  作者:大红袍
--  发布时间:2016/8/24 14:01:00
--  
以下是引用ouyangfenghuan在2016/8/24 13:47:00的发言:

也就是光标移动到窗口的文本框的所在列

按下"复制上一行"按钮复制上一行内容

 

1、你要在所有文本框控件的enter事件写入

 

vars("列名") = e.Sender.BindingField

 

2、按钮代码

 

Dim t As Table = Tables("生产日报表")
Dim r As Row = t.Current
Dim c As Col = t.Cols(vars("列名").Split(".")(1))
If r.index > 0 Then
    Dim pr As Row = r.Table.rows(r.index-1)
   
    r(c.name) = pr(c.name)
Else
    MessageBox.Show("此行是第一行")
End If