w_spt_ch.srw 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. $PBExportHeader$w_spt_ch.srw
  2. forward
  3. global type w_spt_ch from w_pageretr_ch
  4. end type
  5. type ddlb_spttype from dropdownlistbox within w_spt_ch
  6. end type
  7. type cbx_inuse from checkbox within w_spt_ch
  8. end type
  9. end forward
  10. global type w_spt_ch from w_pageretr_ch
  11. integer width = 3008
  12. integer height = 1980
  13. string title = "供应商选择"
  14. event ue_help ( )
  15. ddlb_spttype ddlb_spttype
  16. cbx_inuse cbx_inuse
  17. end type
  18. global w_spt_ch w_spt_ch
  19. type variables
  20. s_spt INS_RT_STRU
  21. int inuse=1
  22. string cur_spttype= ''
  23. end variables
  24. event ue_help();Int i
  25. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".html")
  26. end event
  27. on w_spt_ch.create
  28. int iCurrent
  29. call super::create
  30. this.ddlb_spttype=create ddlb_spttype
  31. this.cbx_inuse=create cbx_inuse
  32. iCurrent=UpperBound(this.Control)
  33. this.Control[iCurrent+1]=this.ddlb_spttype
  34. this.Control[iCurrent+2]=this.cbx_inuse
  35. end on
  36. on w_spt_ch.destroy
  37. call super::destroy
  38. destroy(this.ddlb_spttype)
  39. destroy(this.cbx_inuse)
  40. end on
  41. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  42. if trim(sle_usual_query.text)<>'' then
  43. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  44. obj_expr=obj_expr+'( sptcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  45. obj_expr=obj_expr+' or (name LIKE "%'+trim(sle_usual_query.text)+'%" )'
  46. ELSE
  47. obj_expr=obj_expr+'( sptcode LIKE "'+trim(sle_usual_query.text)+'") '
  48. obj_expr=obj_expr+' or (name LIKE "'+trim(sle_usual_query.text)+'" )'
  49. END IF
  50. end if
  51. dw_pageretr.setfilter(obj_expr)
  52. dw_pageretr.setredraw(false)
  53. dw_pageretr.filter()
  54. if dw_pageretr.rowcount()>=1 then
  55. dw_pageretr.selectrow(0,false)
  56. dw_pageretr.selectrow(1,true)
  57. end if
  58. dw_pageretr.setredraw(true)
  59. end event
  60. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  61. ls_newselect=lower(ori_oldselect)
  62. IF Trim(sle_usual_query.Text) <> '' THEN
  63. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  64. ls_querystrpart = ls_querystrpart + "(sptcode like '%"+Trim(sle_usual_query.Text)+"%'"
  65. ls_querystrpart = ls_querystrpart + " or name like '%"+Trim(sle_usual_query.Text)+"%')"
  66. ELSE
  67. ls_querystrpart = ls_querystrpart + "(sptcode like '"+Trim(sle_usual_query.Text)+"'"
  68. ls_querystrpart = ls_querystrpart + " or name like '"+Trim(sle_usual_query.Text)+"')"
  69. END IF
  70. IF Pos(ls_newselect," where ") <> 0 THEN
  71. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  72. ELSE
  73. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  74. END IF
  75. END IF
  76. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  77. this.triggerevent('retrieve_pageretr')
  78. end event
  79. event close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
  80. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  81. end event
  82. event open;this.triggerevent('ue_before_open')
  83. wf_movetocenter()
  84. OLD_TITLE=THIS.TITLE
  85. s_tran=Message.PowerObjectParm
  86. IF not ISNULL(s_tran) then
  87. retrieve_all=s_tran.if_retrieve_all
  88. mode=s_tran.work_mode
  89. arg_pkid=s_tran.arg_pkid
  90. arg_string_code=s_tran.arg_string_code
  91. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  92. ds_share=s_tran.ds_share
  93. end if
  94. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  95. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  96. dw_pageretr.SetTransObject (sqlca)
  97. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  98. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  99. ls_newselect=ori_oldselect
  100. ds_curquery=CREATE DATASTORE
  101. ds_curquery.DATAOBJECT='d_extr_find'
  102. ds_curquery.SetTransObject (sqlca)
  103. wf_editindex_lockf()
  104. sle_usual_query.text=trim(arg_string_code)
  105. if NOT retrieve_all then
  106. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  107. else
  108. if if_sharedata then
  109. ds_share.sharedata(dw_pageretr)
  110. else
  111. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  112. this.TRIGGEREVENT('RETRIEVE_pageretr')
  113. end if
  114. end if
  115. IF retrieve_all THEN
  116. THIS.TRIGGEREVENT("ue_usual_query_filt")
  117. END IF
  118. end event
  119. event ue_before_open;call super::ue_before_open;if_ue_sort=true
  120. end event
  121. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  122. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  123. //cb_firstpage_enabled=cb_firstpage.enabled
  124. cb_nextpage_enabled=cb_nextpage.enabled
  125. cb_retrieveall_enabled=cb_retrieveall.enabled
  126. //cb_priorpage_enabled=cb_priorpage.enabled
  127. cb_func_enabled=cb_func.enabled
  128. //cb_firstpage.enabled=false
  129. cb_nextpage.enabled=false
  130. cb_retrieveall.enabled=false
  131. //cb_priorpage.enabled=false
  132. cb_func.enabled=false
  133. SetPointer(HourGlass!)
  134. dw_pageretr.retrieve(inuse,cur_spttype)
  135. if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
  136. SetPointer(Arrow!)
  137. //cb_firstpage.enabled=cb_firstpage_enabled
  138. cb_nextpage.enabled=cb_nextpage_enabled
  139. cb_retrieveall.enabled=cb_retrieveall_enabled
  140. //cb_priorpage.enabled=cb_priorpage_enabled
  141. cb_func.enabled=cb_func_enabled
  142. end event
  143. type cb_func from w_pageretr_ch`cb_func within w_spt_ch
  144. end type
  145. type cb_exit from w_pageretr_ch`cb_exit within w_spt_ch
  146. end type
  147. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_spt_ch
  148. integer x = 224
  149. end type
  150. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_spt_ch
  151. integer x = 1147
  152. end type
  153. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_spt_ch
  154. integer x = 837
  155. end type
  156. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_spt_ch
  157. integer width = 2967
  158. integer height = 1580
  159. string dataobject = "dw_spt_ch"
  160. end type
  161. event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1
  162. end event
  163. type st_1 from w_pageretr_ch`st_1 within w_spt_ch
  164. integer width = 206
  165. string text = "编号含:"
  166. end type
  167. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_spt_ch
  168. integer x = 1298
  169. end type
  170. type cb_choice from w_pageretr_ch`cb_choice within w_spt_ch
  171. end type
  172. event cb_choice::clicked;call super::clicked;LONG LS_ROW
  173. LS_ROW=dw_pageretr.getrow()
  174. if LS_ROW<=0 then
  175. messagebox('提示','请先选择目标行!', Information!, OK! )
  176. return
  177. end if
  178. INS_RT_STRU.sptid=dw_pageretr.OBJECT.sptid[LS_ROW]
  179. INS_RT_STRU.name=dw_pageretr.OBJECT.name[LS_ROW]
  180. INS_RT_STRU.spttype=dw_pageretr.OBJECT.spttype[LS_ROW]
  181. INS_RT_STRU.rep=dw_pageretr.OBJECT.rep[LS_ROW]
  182. INS_RT_STRU.tele=dw_pageretr.OBJECT.tele[LS_ROW]
  183. INS_RT_STRU.tele1=dw_pageretr.OBJECT.tele1[LS_ROW]
  184. INS_RT_STRU.bank=dw_pageretr.OBJECT.bank[LS_ROW]
  185. INS_RT_STRU.cunt=dw_pageretr.OBJECT.cunt[LS_ROW]
  186. INS_RT_STRU.code=dw_pageretr.OBJECT.code[LS_ROW]
  187. INS_RT_STRU.dscrp=dw_pageretr.OBJECT.dscrp[LS_ROW]
  188. INS_RT_STRU.address=dw_pageretr.OBJECT.address[LS_ROW]
  189. INS_RT_STRU.sptcode=dw_pageretr.OBJECT.sptcode[LS_ROW]
  190. INS_RT_STRU.dftmoneyid=dw_pageretr.OBJECT.dftmoneyid[LS_ROW]
  191. INS_RT_STRU.dftbanktypeid=dw_pageretr.OBJECT.dftbanktypeid[LS_ROW]
  192. CLOSE(PARENT)
  193. end event
  194. type cb_refresh from w_pageretr_ch`cb_refresh within w_spt_ch
  195. end type
  196. type cb_help from w_pageretr_ch`cb_help within w_spt_ch
  197. end type
  198. type ln_bar from w_pageretr_ch`ln_bar within w_spt_ch
  199. end type
  200. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_spt_ch
  201. end type
  202. type r_bar from w_pageretr_ch`r_bar within w_spt_ch
  203. end type
  204. type ln_1 from w_pageretr_ch`ln_1 within w_spt_ch
  205. end type
  206. type ln_2 from w_pageretr_ch`ln_2 within w_spt_ch
  207. end type
  208. type ddlb_spttype from dropdownlistbox within w_spt_ch
  209. integer x = 1152
  210. integer y = 200
  211. integer width = 585
  212. integer height = 1244
  213. integer taborder = 50
  214. boolean bringtotop = true
  215. integer textsize = -9
  216. integer weight = 400
  217. fontcharset fontcharset = gb2312charset!
  218. fontpitch fontpitch = variable!
  219. string facename = "宋体"
  220. long textcolor = 33554432
  221. boolean sorted = false
  222. borderstyle borderstyle = stylelowered!
  223. end type
  224. event constructor;String ls_spttype
  225. DECLARE cur_spttype CURSOR FOR
  226. SELECT distinct u_spt.spttype
  227. FROM u_spt where u_spt.spttype <> '';
  228. OPEN cur_spttype;
  229. FETCH cur_spttype INTO :ls_spttype;
  230. DO WHILE sqlca.SQLCode = 0
  231. THIS.AddItem(ls_spttype)
  232. FETCH cur_spttype INTO :ls_spttype;
  233. LOOP
  234. CLOSE cur_spttype;
  235. THIS.AddItem('全部')
  236. THIS.text = '全部'
  237. end event
  238. event selectionchanged;if this.text = '全部' then
  239. cur_spttype = ''
  240. else
  241. cur_spttype = this.text
  242. end if
  243. cb_refresh.triggerevent(clicked!)
  244. end event
  245. type cbx_inuse from checkbox within w_spt_ch
  246. integer x = 745
  247. integer y = 208
  248. integer width = 389
  249. integer height = 60
  250. boolean bringtotop = true
  251. integer textsize = -9
  252. integer weight = 400
  253. fontcharset fontcharset = gb2312charset!
  254. fontpitch fontpitch = variable!
  255. string facename = "宋体"
  256. long backcolor = 134217739
  257. string text = "只显示有效"
  258. boolean checked = true
  259. end type
  260. event clicked;if this.checked then
  261. inuse=1
  262. else
  263. inuse=-1
  264. end if
  265. cb_refresh.triggerevent(clicked!)
  266. end event
  267. event constructor;
  268. IF not sys_power_issuper and f_power_ind(1463) THEN
  269. This.Checked = True
  270. This.Visible = False
  271. END IF
  272. end event