$PBExportHeader$w_spt_ch.srw forward global type w_spt_ch from w_pageretr_ch end type type ddlb_spttype from dropdownlistbox within w_spt_ch end type type cbx_inuse from checkbox within w_spt_ch end type end forward global type w_spt_ch from w_pageretr_ch integer width = 3008 integer height = 1980 string title = "供应商选择" event ue_help ( ) ddlb_spttype ddlb_spttype cbx_inuse cbx_inuse end type global w_spt_ch w_spt_ch type variables s_spt INS_RT_STRU int inuse=1 string cur_spttype= '' end variables event ue_help();Int i i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".html") end event on w_spt_ch.create int iCurrent call super::create this.ddlb_spttype=create ddlb_spttype this.cbx_inuse=create cbx_inuse iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_spttype this.Control[iCurrent+2]=this.cbx_inuse end on on w_spt_ch.destroy call super::destroy destroy(this.ddlb_spttype) destroy(this.cbx_inuse) end on event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( sptcode LIKE "%'+trim(sle_usual_query.text)+'%" )' obj_expr=obj_expr+' or (name LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( sptcode LIKE "'+trim(sle_usual_query.text)+'") ' obj_expr=obj_expr+' or (name LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.setredraw(false) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.setredraw(true) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) IF Trim(sle_usual_query.Text) <> '' THEN IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN ls_querystrpart = ls_querystrpart + "(sptcode like '%"+Trim(sle_usual_query.Text)+"%'" ls_querystrpart = ls_querystrpart + " or name like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = ls_querystrpart + "(sptcode like '"+Trim(sle_usual_query.Text)+"'" ls_querystrpart = ls_querystrpart + " or name like '"+Trim(sle_usual_query.Text)+"')" END IF IF Pos(ls_newselect," where ") <> 0 THEN ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')' ELSE ls_newselect = ls_newselect+" where ("+ls_querystrpart+')' END IF END IF wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event close;CLOSEWITHRETURN(THIS,INS_RT_STRU) // 窗体级子定义结构变量,用于返回 end event event open;this.triggerevent('ue_before_open') wf_movetocenter() OLD_TITLE=THIS.TITLE s_tran=Message.PowerObjectParm IF not ISNULL(s_tran) then retrieve_all=s_tran.if_retrieve_all mode=s_tran.work_mode arg_pkid=s_tran.arg_pkid arg_string_code=s_tran.arg_string_code if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share=s_tran.ds_share end if dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关 dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect=ori_oldselect ds_curquery=CREATE DATASTORE ds_curquery.DATAOBJECT='d_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() sle_usual_query.text=trim(arg_string_code) if NOT retrieve_all then THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve else if if_sharedata then ds_share.sharedata(dw_pageretr) else wf_retrieveuc(dw_pageretr,ls_newselect,1) this.TRIGGEREVENT('RETRIEVE_pageretr') end if end if IF retrieve_all THEN THIS.TRIGGEREVENT("ue_usual_query_filt") END IF end event event ue_before_open;call super::ue_before_open;if_ue_sort=true end event event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled //cb_firstpage_enabled=cb_firstpage.enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled //cb_priorpage_enabled=cb_priorpage.enabled cb_func_enabled=cb_func.enabled //cb_firstpage.enabled=false cb_nextpage.enabled=false cb_retrieveall.enabled=false //cb_priorpage.enabled=false cb_func.enabled=false SetPointer(HourGlass!) dw_pageretr.retrieve(inuse,cur_spttype) if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1) SetPointer(Arrow!) //cb_firstpage.enabled=cb_firstpage_enabled cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled //cb_priorpage.enabled=cb_priorpage_enabled cb_func.enabled=cb_func_enabled end event type cb_func from w_pageretr_ch`cb_func within w_spt_ch end type type cb_exit from w_pageretr_ch`cb_exit within w_spt_ch end type type sle_usual_query from w_pageretr_ch`sle_usual_query within w_spt_ch integer x = 224 end type type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_spt_ch integer x = 1147 end type type em_pagerowno from w_pageretr_ch`em_pagerowno within w_spt_ch integer x = 837 end type type dw_pageretr from w_pageretr_ch`dw_pageretr within w_spt_ch integer width = 2967 integer height = 1580 string dataobject = "dw_spt_ch" end type event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1 end event type st_1 from w_pageretr_ch`st_1 within w_spt_ch integer width = 206 string text = "编号含:" end type type cb_nextpage from w_pageretr_ch`cb_nextpage within w_spt_ch integer x = 1298 end type type cb_choice from w_pageretr_ch`cb_choice within w_spt_ch end type event cb_choice::clicked;call super::clicked;LONG LS_ROW LS_ROW=dw_pageretr.getrow() if LS_ROW<=0 then messagebox('提示','请先选择目标行!', Information!, OK! ) return end if INS_RT_STRU.sptid=dw_pageretr.OBJECT.sptid[LS_ROW] INS_RT_STRU.name=dw_pageretr.OBJECT.name[LS_ROW] INS_RT_STRU.spttype=dw_pageretr.OBJECT.spttype[LS_ROW] INS_RT_STRU.rep=dw_pageretr.OBJECT.rep[LS_ROW] INS_RT_STRU.tele=dw_pageretr.OBJECT.tele[LS_ROW] INS_RT_STRU.tele1=dw_pageretr.OBJECT.tele1[LS_ROW] INS_RT_STRU.bank=dw_pageretr.OBJECT.bank[LS_ROW] INS_RT_STRU.cunt=dw_pageretr.OBJECT.cunt[LS_ROW] INS_RT_STRU.code=dw_pageretr.OBJECT.code[LS_ROW] INS_RT_STRU.dscrp=dw_pageretr.OBJECT.dscrp[LS_ROW] INS_RT_STRU.address=dw_pageretr.OBJECT.address[LS_ROW] INS_RT_STRU.sptcode=dw_pageretr.OBJECT.sptcode[LS_ROW] INS_RT_STRU.dftmoneyid=dw_pageretr.OBJECT.dftmoneyid[LS_ROW] INS_RT_STRU.dftbanktypeid=dw_pageretr.OBJECT.dftbanktypeid[LS_ROW] CLOSE(PARENT) end event type cb_refresh from w_pageretr_ch`cb_refresh within w_spt_ch end type type cb_help from w_pageretr_ch`cb_help within w_spt_ch end type type ln_bar from w_pageretr_ch`ln_bar within w_spt_ch end type type ln_bar2 from w_pageretr_ch`ln_bar2 within w_spt_ch end type type r_bar from w_pageretr_ch`r_bar within w_spt_ch end type type ln_1 from w_pageretr_ch`ln_1 within w_spt_ch end type type ln_2 from w_pageretr_ch`ln_2 within w_spt_ch end type type ddlb_spttype from dropdownlistbox within w_spt_ch integer x = 1152 integer y = 200 integer width = 585 integer height = 1244 integer taborder = 50 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean sorted = false borderstyle borderstyle = stylelowered! end type event constructor;String ls_spttype DECLARE cur_spttype CURSOR FOR SELECT distinct u_spt.spttype FROM u_spt where u_spt.spttype <> ''; OPEN cur_spttype; FETCH cur_spttype INTO :ls_spttype; DO WHILE sqlca.SQLCode = 0 THIS.AddItem(ls_spttype) FETCH cur_spttype INTO :ls_spttype; LOOP CLOSE cur_spttype; THIS.AddItem('全部') THIS.text = '全部' end event event selectionchanged;if this.text = '全部' then cur_spttype = '' else cur_spttype = this.text end if cb_refresh.triggerevent(clicked!) end event type cbx_inuse from checkbox within w_spt_ch integer x = 745 integer y = 208 integer width = 389 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 string text = "只显示有效" boolean checked = true end type event clicked;if this.checked then inuse=1 else inuse=-1 end if cb_refresh.triggerevent(clicked!) end event event constructor; IF not sys_power_issuper and f_power_ind(1463) THEN This.Checked = True This.Visible = False END IF end event