以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码编译求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=30614)

--  作者:cxabc123
--  发布时间:2013/4/1 8:43:00
--  代码编译求助
我的想法是:事件里要通过e,调用属性。现在通过e调用的一段代码因为特殊要求,我放在了另一个DataTable表的一个单元格里,在条件需要的时候再调用这段代码。但是这样做不成功,提示说e属专用词,只能放在事件里。那位大侠有办法,指导一下,如何才能把他处的一段代码调用到事件的代码中。
--  作者:cxabc123
--  发布时间:2013/4/1 9:03:00
--  
没有e参数的都可以把一段代码编译,但是有了e参数的就不能了,有什么变通的办法吗,因为要确定发生变化的列,所以e参数还得用
--  作者:Bin
--  发布时间:2013/4/1 9:06:00
--  
e参数只是事件才有的啊。如果想在别的地方调用同一段代码。可以考虑写个函数啊
--  作者:cxabc123
--  发布时间:2013/4/2 12:54:00
--  
如何写。纯粹没有思路,对自定义函数一点 也不懂
--  作者:狐狸爸爸
--  发布时间:2013/4/2 14:14:00
--  

其实几乎任何操作都会触发事件,你想在什么操作后执行这段代码, 就将这段代码写在什么事件中。

实在搞不定,就用简单的例子说话。


--  作者:cxabc123
--  发布时间:2013/4/2 14:28:00
--  
以下是引用狐狸爸爸在2013-4-2 14:14:00的发言:

其实几乎任何操作都会触发事件,你想在什么操作后执行这段代码, 就将这段代码写在什么事件中。

实在搞不定,就用简单的例子说话。

比如说在全局表事件里,引用某一datatable表的一个单元格里的一段代码,正好这段代码有e参数,这样引用的时候不能正常编译,没有e参数的代码就可以正常编译。现在的问题是有e参数的问题该如何解决?


--  作者:狐狸爸爸
--  发布时间:2013/4/2 14:38:00
--  
全局表事件,也有e参数。
--  作者:cxabc123
--  发布时间:2013/4/2 20:59:00
--  
以下是引用狐狸爸爸在2013-4-2 14:38:00的发言:
全局表事件,也有e参数。

这段代码写在全局表事件里

Dim drs As New List(of DataRow)
drs = DataTables("系统代码").Select("[是否执行]= True And [事件类型] = \'表事件\'")
If drs.Count = 0 Then
    Return
Else
    For Each dr As DataRow In drs
        If CurrentTable.Name = dr("表名") Then
            Dim Code As String = dr("事件代码")
            Functions.Add("Zdy",Code)   \'添加
            Functions.Complie()         \'编译
            Functions.Execute("Zdy")    \'执行
            Functions.Remove("Zdy")     \'代码执行完毕即删除函数
        End If
    Next
End If

 

 

dr("事件代码")是DataTables("系统代码")表里一个单元格保存的代码,这段代码里如果没有e参数,如MessageBox.Show("测试成功了"),这样可以。但是代码中有e参数,就失败了。

 

狐爸看有什么思路,或更好的办法能够达到这种目的

[此贴子已经被作者于2013-4-2 20:59:42编辑过]