左栏'); } else{ document.write('关闭左栏'); } }catch(e){alert(e);}
Foxtable(狐表)用户栏目专家坐堂 → select 使用


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

主题:select 使用

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
select 使用  发帖心情 Post By:2020/2/9 16:06:00 [只看该作者]

Dim filter7 As String = "会计科目编码 = '" & e.DataRow("会计科目编码") & "'and  账面会计科目编码 = '" & e.DataRow("账面会计科目编码") & "'and 日期 >= '" & e.DataRow("开始日期") & "'and 日期 <= '" & e.DataRow("截止日期") & "'and 公司名称 = '" & e.DataRow("公司名称") & "'"
Dim st As Date = Date.Now '将开始时间保存在变量st中
Sel ect Case e.DataCol.name
    Case "会计科目编码"
        msgbox(1)
        If e.DataRow.Isnull("会计科目编码") = False  Then
            msgbox(2)
            e.DataRow("科目编号") = e.DataRow("会计科目编码").SubString(0,e.DataRow("会计科目编码").IndexOf("_"))
            msgbox(3)
            Dim bh() As String = (e.DataRow("会计科目编码").SubString(e.DataRow("会计科目编码").IndexOf("_")+1,e.DataRow("会计科目编码").Length - e.DataRow("会计科目编码").IndexOf("_")-1)).split(".")
            e.DataRow("项目编号") = bh(0)
           
            'msgbox(e.DataRow("科目编号") )
            'msgbox(e.DataRow("项目编号"))
        Else
            'e.DataRow("科目编号") = Nothing
            'e.DataRow("项目编号") = Nothing
        End If
        msgbox(4)
End Select
msgbox(5)
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数
msgbox(6)

 

执行上述代码 ,实际执行结果为:1-2-5-t-6-3-5-t-6-4-5-t-6,为什么不是1-2-3-4-5-t-6,这是什么原因?

 


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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/9 22:43:00 [只看该作者]

正常啊,任何数据列值改变都会触发datacolchanged事件,msgbox(2)给"科目编号"赋值,同时会触发datacolchanged事件,事件判断没有针对  case "科目编号"的代码,就接着执行End Select之后的代码,完毕后回到之前的事件,继续执行msgbox(3)

 回到顶部