$PBExportHeader$w_rpt_manage.srw $PBExportComments$登记管理--窗口 forward global type w_rpt_manage from w_rpt_base end type type dw1 from datawindow within w_rpt_manage end type type uo_1 from uo_tlbar within w_rpt_manage end type type dw01 from datawindow within w_rpt_manage end type type dw02 from datawindow within w_rpt_manage end type type dw03 from datawindow within w_rpt_manage end type end forward global type w_rpt_manage from w_rpt_base integer x = 14 integer y = 4 integer width = 3634 integer height = 2380 string title = "数据窗口登记" string menuname = "m_rpt_manage" windowstate windowstate = normal! long backcolor = 80269524 boolean toolbarvisible = false event ue_open_report ( string s_label ) event ue_preview ( ) event ue_moveup ( ) event ue_movedown ( ) dw1 dw1 uo_1 uo_1 dw01 dw01 dw02 dw02 dw03 dw03 end type global w_rpt_manage w_rpt_manage type variables datawindow id_userdw string is_rid,is_cname,is_filt,is_label,is_rsys end variables event ue_open_report;dw1.accepttext() i=dw1.getrow() if i=0 then return is_rid=f_myget(dw1,i,'rid') if is_datasource='dw' and (not isvalid(id_userdw)) then MessageBox("出错信息","原窗口已关闭,请重新打开!") return end if istr_rpt.rid=long(is_rid) istr_rpt.rcname=f_myget(dw1,i,'rcname') istr_rpt.rdname=f_myget(dw1,i,'rdname') istr_rpt.auto=s_label opensheetwithparm(w_rpt_main,istr_rpt,iw_mdi,0,Original!) return end event event ue_preview;if dw1.getrow()=0 then return is_rid=dw1.getitemstring(dw1.getrow(),'rid') istr_rpt.rid=long(is_rid) BLOB lblob selectblob rsyntax into :lblob from reports where rid=:is_rid using it_report; if it_report.sqlcode=0 THEN istr_rpt.isdw=string(lblob) opensheetwithparm(w_rpt_preview,istr_rpt,iw_mdi,0,Original!) end if return end event event ue_moveup;i=dw1.getrow() if i>1 then dw1.RowsMove(i,i,Primary!,dw1,i -1,Primary!) dw1.scrolltorow(i -1) dw1.setitem(i -1,'rxh',i -1) end if end event event ue_movedown;i=dw1.getrow() ii_temp=dw1.rowcount() if i'' then f_addwhere(dw1,"rsys='"+is_rsys+"'") if is_datasource='dw' then is_filt=id_userdw.dataobject else is_filt='database' end if if istr_rpt.label<>'报表设计' then title='报表选择窗口' m_rpt_manage.m_1.visible=false m_rpt_manage.m_3.visible=false m_rpt_manage.m_1.m_11.toolbaritemvisible=false m_rpt_manage.m_1.m_12.toolbaritemvisible=false m_rpt_manage.m_1.m_13.toolbaritemvisible=false m_rpt_manage.m_1.m_14.toolbaritemvisible=false m_rpt_manage.m_1.m_15.toolbaritemvisible=false m_rpt_manage.m_3.m_31.toolbaritemvisible=false m_rpt_manage.m_3.m_32.toolbaritemvisible=false WindowState=Maximized!//这个设置必须放在m_1.visible=false下面 dw1.modify('rcname.edit.displayonly=true') if is_rid>'' then//报表编号已经通过参数传递 f_myretrieve(dw1,"rid='"+is_rid+"'") else f_myretrieve(dw1,"rfilt='"+is_filt+"'") end if if dw1.rowcount()=1 or istr_rpt.label='直接打印' then if isvalid(this) then WindowState=Minimized! event ue_preview() return//不要删除 end if else f_myretrieve(dw1,"rfilt='"+is_filt+"'") WindowState=Maximized! end if uo_1.of_bott() dw1.setfocus() return end event event ue_new;select max(rid) into :is_temp from reports using it_report;//取数据库中最大编号 if isnull(is_temp) then is_temp='' is_rid=string(long(is_temp)+1,'00000') if ue_row=0 then i=dw1.insertrow(0) else i=dw1.insertrow(dw1.getrow()) end if dw1.scrolltorow(i) dw1.setitem(i,'rid',is_rid) dw1.setitem(i,'rsys',is_rsys) dw1.setitem(i,'rfilt',is_filt) f_mysave(dw1,it_report,1) dw1.setitem(i,'rxh',i) end event event ue_delete;int li li=dw1.getrow() if li>0 then if messagebox("提示信息","删除 "+f_myget(dw1,li,'rid')+" ?",QUESTION!,YESNO!,2)=1 then dw1.deleterow(li) end if end if end event event closequery;dw1.accepttext() if dw1.ModifiedCount()+dw1.DeletedCount()>0 then ii_rows=dw1.rowcount() for i=1 to ii_rows ii_temp=dw1.getitemnumber(i,'rxh') if isnull(ii_temp) or ii_temp<>i then dw1.setitem(i,'rxh',i) end if next f_mysave(dw1,it_report,1) end if end event event resize;dw1.x=(newwidth -dw1.width)/2 dw1.resize(dw1.width,newheight -(dw1.y) -20) end event event close;close(w_report_open) end event type dw1 from datawindow within w_rpt_manage event ue_key pbm_dwnkey integer x = 791 integer y = 216 integer width = 1797 integer height = 1940 integer taborder = 10 boolean bringtotop = true string dataobject = "dw_rpts" boolean vscrollbar = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type event ue_key;if key=KeyEscape! then close(parent) return 1 end if end event event dberror;return 1 end event event losefocus;parent.event closequery() end event event doubleclicked;if istr_rpt.label='报表设计' then parent.event ue_open_report('maner') else parent.event ue_preview() end if end event event clicked;if row>0 then scrolltorow(row) end if end event type uo_1 from uo_tlbar within w_rpt_manage integer width = 3506 integer height = 184 integer taborder = 40 boolean bringtotop = true boolean border = false end type on uo_1.destroy call uo_tlbar::destroy end on type dw01 from datawindow within w_rpt_manage boolean visible = false integer x = 142 integer y = 492 integer width = 494 integer height = 456 integer taborder = 20 boolean bringtotop = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type type dw02 from datawindow within w_rpt_manage boolean visible = false integer x = 142 integer y = 1232 integer width = 494 integer height = 120 integer taborder = 30 boolean bringtotop = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type type dw03 from datawindow within w_rpt_manage boolean visible = false integer x = 142 integer y = 1452 integer width = 494 integer height = 120 integer taborder = 31 boolean bringtotop = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type