PB之入门-itemchanged(long row,dwobject dwo,string data)

    每天的总结都是必须,好记性不如烂笔头,好吧,一星期没做笔记了,最近忙上PB了,哎东学学西学学,最可怕的就是最后都半斤八两,吐槽一下关于PB的资源为何如此之少,今天记录的是关于itemchanged事件的介绍。

     Description:

     itemchanged事件在datawindow里的字段被修改并且失去焦点后发生,当然在Update函数被调用之前也会触发这个事件,事件共有三个参数:

         long  row  ,表示当前行

         dwobject  dwo,表示datawindow里的字段,例dwo.name  = “filedname”

         string data, 表示new data也就是刚刚输入的数据

     Return Values

          0   (默认)  接收数据,并转移焦点到下一行

          1   拒绝输入的数据,并焦点不转移

          2    拒绝数据的输入,但转移焦点到下一行,并且数据不改变,跟修改之前一样

     Precautions

             当数据窗口本身失去焦点时,是不会触发此事件的

     Sample

   1:  datetime lda_today     //pb并不需要 “;”,但是在Disconnect时竟然需要”;”难以理解
   2:   //  today()   pb系统函数,得到当天日期; now()  pb系统函数,得到时间
   3:  lda_today = datetime(today(),now())  
   4:   //  相当于switch case 但语法上大同小异 需要注意
   5:  choose case dwo.name
   6:   //   字段名称
   7:    case "stu_info_stu_birthdate"
   8:   //作判断,控制日期,或其他数据的输入
   9:      if datetime(data) > lda_today then
  10:          messagebox("错误!","输入的日期不能超过当前日期")
  11:          return 2
  12:      end if
  13:   
  14:    case "stu_info_stu_enterdate"
  15:   
  16:      if datetime(data) > lda_today then
  17:          messagebox("错误!","输入的日期不能超过当前日期")
  18:          return 2
  19:      end if
  20:  case "stu_info_stu_phone"
  21:      if len(data) < 11 then
  22:          messagebox("错误!","请输入正确的手机号码")
  23:          return 2
  24:      end if
  25:   
  26:    case else
  27:   
  28:      return 0
  29: //结束  
  30:  end choose

          路过的正在学习pb的,留个粉丝位,互相学习!!!

posted @ 2015-07-30 20:33  戴杭林  阅读(4134)  评论(2编辑  收藏  举报