以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在CurrentChanged事件中写入代码,其结果和我要的结果完全相反,应该怎么改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78964)

--  作者:yumo123
--  发布时间:2015/12/21 17:00:00
--  [求助]在CurrentChanged事件中写入代码,其结果和我要的结果完全相反,应该怎么改

我在CurrentChanged事件中写入如下代码,想表示当行为列为借款,且 整行输入结束后 弹出messagebox提示

但现在变成了 输入后 切换行没有反应,在回点这个行 才出现窗口提示。

其结果和我要的结果完全相反,应该怎么改? 我写在CurrentChanged事件中对吗?

 

Dim Values() As String = {"代垫款","借款","代付应收"}
For Each Value  As String In Values
   If e.Table.Current("摘要_行为") = value Then
    MessageBox.Show("是否录入到应收账款","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)
    End If
Next

 

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:360反馈意见截图165307188710182.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/12/21 17:10:00
--  

你要写到这个事件 BeforeSelChange

 

http://www.foxtable.com/help/topics/0644.htm

 


--  作者:大红袍
--  发布时间:2015/12/21 17:12:00
--  
Dim Values() As String = {"代垫款","借款","代付应收"}
Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
For Each Value  As String In Values
    If r("摘要_行为") = value Then
        MessageBox.Show("是否录入到应收账款","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)
    End If
Next

--  作者:yumo123
--  发布时间:2015/12/21 17:21:00
--  

谢谢大红袍哥回复我问题,可是用这个代码在这个事件中 , 在同一行,每切换一个单元格 就弹出一次,我想填写完 切换行的时候 才弹出来。还是用这个事件吗?这个事件好像是每换一单元格就触发啊,所以我当时考虑的是CurrentChanged事件

 

袍哥 还有个问题这个事件中不能用opento吗?

Dim Values() As String = {"代垫款","借款","代付应收"}
Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
For Each Value  As String In Values
    If r("摘要_行为") = value Then
        Dim yes As DialogResult
        yes =  MessageBox.Show("是否录入到应收账款","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)
        If yes = DialogResult.Yes Then
            opento("应收账款")
        End If
    End If
Next

我这样写 提示出错,我想跳转到应收账款表 ,应该用哪个open呢?

谢谢

[此贴子已经被作者于2015/12/21 17:39:55编辑过]

--  作者:大红袍
--  发布时间:2015/12/21 18:12:00
--  

多加两行代码

 

If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行

    End If

End If


--  作者:yumo123
--  发布时间:2015/12/21 18:50:00
--  
谢谢 已经全部解决,又学到一招