以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:事件代码和按钮代码的区别  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3927)

--  作者:ia928
--  发布时间:2009/8/19 11:38:00
--  请教:事件代码和按钮代码的区别
DataRowAdding事件的代码
 

If e.DataTable.DataRows.Count = 0 Then \'如果是一个空表

    Return \'那么返回

End If

Dim ColNames As String() = {"日期","客户","雇员"} \'定义一个数组,保存复制列的名称

Dim dr As DataRow = e.DataTable.DataRows(e.DataTable.DataRows.Count - 1) \'获得最后一行

For Each ColName As String in ColNames

    e.DataRow(ColName) = dr(ColName) \'将最后一行的内容复制到新增行中

Next


为什么放到窗口按钮里提示错误呢,应该怎样修改呢
--  作者:狐狸爸爸
--  发布时间:2009/8/19 11:53:00
--  

不存在按钮代码的,按钮也使用事件,按钮一般用Click事件。
不同的事件,其参数不同,代码自然不通用
这不好解释,你仔细静心看看开发篇就明白了,原理是简单的。


--  作者:czy
--  发布时间:2009/8/19 11:53:00
--  
按钮代码没有e参数。

按钮代码改成这样:

If CurrentTable.Rows.Count > 0 Then \'如果不是一个空表
    Dim ColNames As String() = {"日期","客户","雇员"} \'定义一个数组,保存复制列的名称
    Dim dr As Row = CurrentTable.Rows(CurrentTable.Rows.Count - 1) \'获得最后一行
    Dim r As Row = CurrentTable.Rows.AddNew()
    For Each ColName As String in ColNames
        r(ColName) = dr(ColName) \'将最后一行的内容复制到新增行中
    Next
End If

[此贴子已经被作者于2009-8-19 11:57:52编辑过]

--  作者:mr725
--  发布时间:2009/8/19 11:57:00
--  
e.DataTable .......................按钮中要改成:DataTable("某表")
e.DataRow(ColName) = .....  按钮中改成: DataTable("某表").DataRow(ColName) = ....
试试看~
--  作者:yangming
--  发布时间:2009/8/19 11:59:00
--  

If CurrentTable.Rows.Count = 0 Then \'如果是一个空表

    Return \'那么返回

End If

Dim ColNames As String() = {"日期","客户","雇员"} \'定义一个数组,保存复制列的名称

Dim dr As Row = CurrentTable.Rows(CurrentTable.Rows.Count - 1) \'获得最后一行
Dim dr2 As Row =  CurrentTable.AddNew()
For Each ColName As String in ColNames

    dr2(ColName) = dr(ColName) \'将最后一行的内容复制到新增行中

Next


--  作者:ia928
--  发布时间:2009/8/19 14:32:00
--  

谢谢各位!