$PBExportHeader$uo_ddlb_wrkgrpid.sru forward global type uo_ddlb_wrkgrpid from dropdownlistbox end type end forward global type uo_ddlb_wrkgrpid from dropdownlistbox integer width = 631 integer height = 228 integer taborder = 10 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true borderstyle borderstyle = stylelowered! end type global uo_ddlb_wrkgrpid uo_ddlb_wrkgrpid type variables long uo_wrkgrpid long uo_wrkgrpid_arr[] long cur_scid = -1 boolean ShowAll = true end variables forward prototypes public function integer uof_set_scid (long arg_scid) public subroutine uof_constructor () end prototypes public function integer uof_set_scid (long arg_scid);cur_scid = arg_scid uof_constructor() return 1 end function public subroutine uof_constructor ();Long ls_wrkGrpid,ll_wkpid String ls_wrkGrpName,ls_wrkgrpcode String ls_wrkGrpName_tmp,ls_wrkgrpcode_tmp Long cnt = 0 Long ll_i String ls_space Int li_spacenum String ls_ddlbtext this.reset() FOR ll_i = 1 To UpperBound(sys_user_wkps) ll_wkpid = sys_user_wkps[ll_i] SELECT u_sc_wkp.wrkGrpName, u_sc_wkp.wrkgrpcode INTO :ls_wrkGrpName_tmp, :ls_wrkgrpcode_tmp FROM u_sc_wkp WHERE u_sc_wkp.inuse = 1 And u_sc_wkp.wrkGrpid = :ll_wkpid And (u_sc_wkp.scid = :cur_scid or :cur_scid = -1); // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkGrpName) THEN ls_wrkGrpName = '' // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkgrpcode) THEN ls_wrkgrpcode = '' IF sqlca.SQLCode <> 0 THEN CONTINUE ls_wrkGrpName = ls_wrkGrpName_tmp ls_wrkgrpcode = ls_wrkgrpcode_tmp ls_ddlbtext = f_scode_name(ll_wkpid,ls_wrkgrpcode,ls_wrkGrpName) This.AddItem (ls_ddlbtext) ls_wrkGrpid = ll_wkpid NEXT This.uo_wrkgrpid = ls_wrkGrpid This.uo_wrkgrpid_arr[1] = ls_wrkGrpid This.Text = ls_wrkGrpName+ls_space+'['+String(ls_wrkGrpid)+']' if ShowAll then SELECT count(*) INTO :cnt FROM u_sc_wkp Where u_sc_wkp.inuse = 1 ; IF cnt > 1 THEN This.AddItem ('[全部车间]') This.uo_wrkgrpid = -1 This.uo_wrkgrpid_arr = sys_user_wkps This.Text = '[全部车间]' END IF end if end subroutine event constructor;uof_constructor() //Long ls_wrkGrpid,ll_wkpid //String ls_wrkGrpName,ls_wrkgrpcode //String ls_wrkGrpName_tmp,ls_wrkgrpcode_tmp //Long cnt = 0 //Long ll_i //String ls_space //Int li_spacenum //String ls_ddlbtext // //FOR ll_i = 1 To UpperBound(sys_user_wkps) // ll_wkpid = sys_user_wkps[ll_i] // SELECT u_sc_wkp.wrkGrpName, // u_sc_wkp.wrkgrpcode // INTO :ls_wrkGrpName_tmp, // :ls_wrkgrpcode_tmp // FROM u_sc_wkp // WHERE u_sc_wkp.inuse = 1 // And u_sc_wkp.wrkGrpid = :ll_wkpid; // // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkGrpName) THEN ls_wrkGrpName = '' // // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkgrpcode) THEN ls_wrkgrpcode = '' // IF sqlca.SQLCode <> 0 THEN CONTINUE // // ls_wrkGrpName = ls_wrkGrpName_tmp // ls_wrkgrpcode = ls_wrkgrpcode_tmp // ls_ddlbtext = f_scode_name(ll_wkpid,ls_wrkgrpcode,ls_wrkGrpName) // // This.AddItem (ls_ddlbtext) // ls_wrkGrpid = ll_wkpid //NEXT // // //This.uo_wrkgrpid = ls_wrkGrpid //This.uo_wrkgrpid_arr[1] = ls_wrkGrpid //This.Text = ls_wrkGrpName+ls_space+'['+String(ls_wrkGrpid)+']' // //SELECT count(*) // INTO :cnt // FROM u_sc_wkp // Where u_sc_wkp.inuse = 1 ; //IF cnt > 1 THEN // This.AddItem ('[全部车间]') // This.uo_wrkgrpid = -1 // This.uo_wrkgrpid_arr = sys_user_wkps // This.Text = '[全部车间]' //END IF // end event event selectionchanged;Long ll_wrkgrpid_arr[] IF THIS.Text = '[全部车间]' THEN uo_wrkgrpid = -1 ll_wrkgrpid_arr = sys_user_wkps uo_wrkgrpid_arr = ll_wrkgrpid_arr ELSE uo_wrkgrpid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 )) ll_wrkgrpid_arr[1] = uo_wrkgrpid uo_wrkgrpid_arr = ll_wrkgrpid_arr END IF end event on uo_ddlb_wrkgrpid.create end on on uo_ddlb_wrkgrpid.destroy end on