以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教:代码的运行顺序是怎样的? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67873) |
-- 作者:gaoqr -- 发布时间: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 -- 发布时间:2015/5/5 14:51:00 -- 你改变了列的值,会触发DataColChanged事件,然后走一遍里面的代码 |
-- 作者:gaoqr -- 发布时间:2015/5/5 15:04:00 -- 那再请教,一次性填充是否效率更高些,怎样才能一次性填充呢? 谢谢!
|
-- 作者:Bin -- 发布时间:2015/5/5 15:06:00 -- 不符合IF条件不会执行里面的代码,没问题的. |
-- 作者:gaoqr -- 发布时间:2015/5/5 15:08:00 -- 谢谢Bin 版主! |