$PBExportHeader$w_workprice_pro_page_ch.srw forward global type w_workprice_pro_page_ch from w_pageretr_ch end type type cbx_mlselect from checkbox within w_workprice_pro_page_ch end type type cbx_all from checkbox within w_workprice_pro_page_ch end type type tv_1 from uo_tv_mtrltype within w_workprice_pro_page_ch end type end forward global type w_workprice_pro_page_ch from w_pageretr_ch integer width = 3611 integer height = 2380 string title = "物料工价表工序选择" cbx_mlselect cbx_mlselect cbx_all cbx_all tv_1 tv_1 end type global w_workprice_pro_page_ch w_workprice_pro_page_ch type variables s_workpricetable_array INS_RT_STRU Boolean if_changeselect = TRUE Int if_mlselect = 0 String cur_handtype = '' end variables on w_workprice_pro_page_ch.create int iCurrent call super::create this.cbx_mlselect=create cbx_mlselect this.cbx_all=create cbx_all this.tv_1=create tv_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_mlselect this.Control[iCurrent+2]=this.cbx_all this.Control[iCurrent+3]=this.tv_1 end on on w_workprice_pro_page_ch.destroy call super::destroy destroy(this.cbx_mlselect) destroy(this.cbx_all) destroy(this.tv_1) end on 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 + "(u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart=ls_querystrpart + "(u_mtrldef.mtrlcode 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 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+'( u_mtrldef_mtrlcode like "%'+trim(sle_usual_query.text)+'%" )' else obj_expr=obj_expr+'( u_mtrldef_mtrlcode 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 close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU) end event event retrieve_pageretr;Boolean cb_retrieveall_enabled,cb_nextpage_enabled Boolean cb_func_enabled,cb_retrieve_enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_func_enabled = cb_func.Enabled cb_retrieveall.Enabled = FALSE cb_nextpage.Enabled = FALSE cb_func.Enabled = FALSE SetPointer(HourGlass!) dw_pageretr.Retrieve(cur_handtype) IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1) SetPointer(Arrow!) cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event type cb_func from w_pageretr_ch`cb_func within w_workprice_pro_page_ch end type type cb_exit from w_pageretr_ch`cb_exit within w_workprice_pro_page_ch end type type sle_usual_query from w_pageretr_ch`sle_usual_query within w_workprice_pro_page_ch integer x = 494 end type type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_workprice_pro_page_ch end type type em_pagerowno from w_pageretr_ch`em_pagerowno within w_workprice_pro_page_ch end type type dw_pageretr from w_pageretr_ch`dw_pageretr within w_workprice_pro_page_ch integer x = 878 integer width = 2711 integer height = 2000 string dataobject = "dw_workprice_pro_ch" end type event dw_pageretr::clicked;call super::clicked;if row>0 then this.setrow(row) if if_mlselect=1 then if if_changeselect then this.selectrow(row,not this.IsSelected(row)) else if_changeselect=true end if else this.selectrow(0,false) this.selectrow(row,true) end if end if end event event dw_pageretr::rowfocuschanged;if if_mlselect=1 then if currentrow <=0 then return if keydown(keycontrol!) then if this.isselected(currentrow) then this.selectrow(currentrow,false) if_changeselect=false else if_changeselect=true end if else if not this.isselected(currentrow) then this.selectrow(currentrow,true) if_changeselect=false else if_changeselect=true end if end if else if currentrow <=0 then return this.selectrow(0,false) this.selectrow(currentrow,true) end if end event type st_1 from w_pageretr_ch`st_1 within w_workprice_pro_page_ch integer x = 23 integer width = 480 string text = "物料编码/工序号含" end type type cb_nextpage from w_pageretr_ch`cb_nextpage within w_workprice_pro_page_ch integer width = 64 string normalpicname = "" end type type cb_choice from w_pageretr_ch`cb_choice within w_workprice_pro_page_ch end type event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0 dw_pageretr.AcceptText() ROW = dw_pageretr.RowCount() IF ROW <= 0 THEN MessageBox('系统提示','请先选择目标行!',StopSign!) RETURN END IF FOR ls_i = 1 TO dw_pageretr.RowCount() IF dw_pageretr.IsSelected(ls_i) THEN chC++ ins_rt_stru.mtrlid[chC] = dw_pageretr.Object.mtrlid[ls_i] ins_rt_stru.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i] ins_rt_stru.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i] ins_rt_stru.mtrlsectype[chC] = dw_pageretr.Object.u_mtrldef_mtrlsectype[ls_i] ins_rt_stru.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i] ins_rt_stru.dscrp[chC] = dw_pageretr.Object.dscrp[ls_i] ins_rt_stru.procode[chC] = dw_pageretr.Object.procode[ls_i] ins_rt_stru.proname[chC] = dw_pageretr.Object.u_sc_workprice_proname[ls_i] ins_rt_stru.worklevel[chC] = dw_pageretr.Object.worklevel[ls_i] ins_rt_stru.techlevel[chC] = dw_pageretr.Object.techlevel[ls_i] ins_rt_stru.workhour[chC] = dw_pageretr.Object.workhour[ls_i] ins_rt_stru.workprice[chC] = dw_pageretr.Object.workprice[ls_i] ins_rt_stru.workqty[chC] = dw_pageretr.Object.workqty[ls_i] ins_rt_stru.lastflag[chC] = dw_pageretr.Object.lastflag[ls_i] ins_rt_stru.wrkgrpid[chC] = dw_pageretr.Object.wrkgrpid[ls_i] ins_rt_stru.lsxtype[chC] = dw_pageretr.Object.lsxtype[ls_i] ins_rt_stru.ifstandard[chC] = dw_pageretr.Object.u_sc_workprice_ifstandard[ls_i] ins_rt_stru.zxmtrlmode[chC] = dw_pageretr.Object.u_mtrldef_zxmtrlmode[ls_i] ins_rt_stru.status[chC] = dw_pageretr.Object.u_sc_workprice_status[ls_i] END IF NEXT Close(PARENT) end event type cb_refresh from w_pageretr_ch`cb_refresh within w_workprice_pro_page_ch end type type cb_help from w_pageretr_ch`cb_help within w_workprice_pro_page_ch end type type ln_bar from w_pageretr_ch`ln_bar within w_workprice_pro_page_ch end type type ln_bar2 from w_pageretr_ch`ln_bar2 within w_workprice_pro_page_ch end type type r_bar from w_pageretr_ch`r_bar within w_workprice_pro_page_ch end type type ln_1 from w_pageretr_ch`ln_1 within w_workprice_pro_page_ch end type type ln_2 from w_pageretr_ch`ln_2 within w_workprice_pro_page_ch end type type cbx_mlselect from checkbox within w_workprice_pro_page_ch integer x = 1472 integer y = 196 integer width = 256 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 = "多选" end type event clicked;IF THIS.Checked THEN if_mlselect = 1 cbx_all.Enabled = TRUE ELSE if_mlselect = 0 cbx_all.Enabled = FALSE cbx_all.Checked = FALSE Long li FOR li = 1 TO dw_pageretr.RowCount() dw_pageretr.SelectRow(li,FALSE) NEXT END IF SetProfileString (sys_inifilename,dw_pageretr.DataObject, "if_mlselect", String(if_mlselect)) end event event constructor;if_mlselect = Integer(ProfileString (sys_inifilename,dw_pageretr.DataObject, "if_mlselect", '0')) IF if_mlselect = 0 THEN THIS.Checked = FALSE cbx_all.enabled = false ELSE THIS.Checked = TRUE cbx_all.enabled = true END IF end event type cbx_all from checkbox within w_workprice_pro_page_ch integer x = 1701 integer y = 196 integer width = 256 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "全选" end type event clicked;IF dw_pageretr.RowCount() <= 0 THEN RETURN Long li IF THIS.Checked THEN FOR li = 1 TO dw_pageretr.RowCount() dw_pageretr.SelectRow(li,TRUE) NEXT ELSE FOR li = 1 TO dw_pageretr.RowCount() dw_pageretr.SelectRow(li,FALSE) NEXT END IF end event type tv_1 from uo_tv_mtrltype within w_workprice_pro_page_ch integer x = 9 integer y = 288 integer width = 864 integer height = 1996 integer taborder = 30 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;cur_handtype = THIS.uo_cur_info.handtype cur_handtype = cur_handtype + '%' parent.triggerevent("retrieve_pageretr") end event