Foxtable(狐表)用户栏目专家坐堂 → 请教:代码的运行顺序是怎样的?


  共有2544人关注过本帖树形打印复制链接

主题:请教:代码的运行顺序是怎样的?

帅哥哟,离线,有人找我吗?
gaoqr
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
请教:代码的运行顺序是怎样的?  发帖心情 Post By:2015/5/5 14:49:00 [只看该作者]

比如下面的代码

If e.DataCol.name = "定额编号" Then
    Dim r As DataRow = DataTables("定额库").Find("定额编号 = '" & c("定额编号") &  "'")

   If r  IsNot Nothing Then

       Dim T As String() = {"定额","提示","前编码","项目名称","单位","位数","措施","W","序号","系数","定额","提示","前编码","项目名称","单位","位数","措施","W","序号","系数"}

        For i As Byte = 0 To 9

        c(T(i)) = r(T(i+10))

         Next

       c("RG") = 1

       c("CL") = 1

    End If

End If

MessageBox.Show(1)

 

 

If e.DataCol.name = "RG" Then

    c("项目名称") = c("项目名称") & " 人工×"& a1 & ""

End If

MessageBox.Show(2)

 

 

If e.DataCol.name = "CL" Then

    c("项目名称") = c("项目名称") & " 材料×"& a2 & ""

End If

MessageBox.Show(3)

 


我的理解应该是,应该依次填充:定额、提示、前编码、项目名称、......、RG、CL  


之后再开始向下循环


在实际执行中发现是:定额(大循环)、提示(大循环)、前编码(大循环)、......、RG(大循环)、CL(大循环)


大循环即执行了:MessageBox.Show(1)、MessageBox.Show(2)、MessageBox.Show(3)  


我不知道这样是否正常?

 



 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/5 14:51:00 [只看该作者]

你改变了列的值,会触发DataColChanged事件,然后走一遍里面的代码

 回到顶部
帅哥哟,离线,有人找我吗?
gaoqr
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2015/5/5 15:04:00 [只看该作者]

那再请教,一次性填充是否效率更高些,怎样才能一次性填充呢?

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/5 15:06:00 [只看该作者]

不符合IF条件不会执行里面的代码,没问题的.

 回到顶部
帅哥哟,离线,有人找我吗?
gaoqr
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2015/5/5 15:08:00 [只看该作者]

谢谢Bin 版主!

 回到顶部