w_publ_edit_index.srw 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525
  1. $PBExportHeader$w_publ_edit_index.srw
  2. $PBExportComments$定义窗口
  3. forward
  4. global type w_publ_edit_index from w_publ_base
  5. end type
  6. type sle_usual_query from u_sleedit within w_publ_edit_index
  7. end type
  8. type cb_nextpage from uo_imflatbutton within w_publ_edit_index
  9. end type
  10. type cb_priorpage from uo_imflatbutton within w_publ_edit_index
  11. end type
  12. type cb_firstpage from uo_imflatbutton within w_publ_edit_index
  13. end type
  14. type cb_retrieveall from uo_imflatbutton within w_publ_edit_index
  15. end type
  16. type em_pagerowno from editmask within w_publ_edit_index
  17. end type
  18. type st_pagerowno from statictext within w_publ_edit_index
  19. end type
  20. type st_1 from statictext within w_publ_edit_index
  21. end type
  22. type cb_add from uo_imflatbutton within w_publ_edit_index
  23. end type
  24. type cb_edit from uo_imflatbutton within w_publ_edit_index
  25. end type
  26. type cb_delet from uo_imflatbutton within w_publ_edit_index
  27. end type
  28. type cb_choice from uo_imflatbutton within w_publ_edit_index
  29. end type
  30. type cb_cancel from uo_imflatbutton within w_publ_edit_index
  31. end type
  32. type cbx_mlselect from checkbox within w_publ_edit_index
  33. end type
  34. type cbx_allselect from checkbox within w_publ_edit_index
  35. end type
  36. type cb_mode_itfchg_b from uo_imflatbutton within w_publ_edit_index
  37. end type
  38. type cb_mode_itfchg from uo_imflatbutton within w_publ_edit_index
  39. end type
  40. type gb_1 from groupbox within w_publ_edit_index
  41. end type
  42. type dw_uc from datawindow within w_publ_edit_index
  43. end type
  44. type cb_retrieve from uo_imflatbutton within w_publ_edit_index
  45. end type
  46. type cb_print from uo_imflatbutton within w_publ_edit_index
  47. end type
  48. type ln_bar from line within w_publ_edit_index
  49. end type
  50. type ln_bar2 from line within w_publ_edit_index
  51. end type
  52. type r_bar from rectangle within w_publ_edit_index
  53. end type
  54. type ln_1 from line within w_publ_edit_index
  55. end type
  56. type ln_2 from line within w_publ_edit_index
  57. end type
  58. type dw_index from u_dw_rbtnfilter within w_publ_edit_index
  59. end type
  60. end forward
  61. global type w_publ_edit_index from w_publ_base
  62. integer width = 2926
  63. integer height = 1784
  64. string title = "编缉"
  65. boolean minbox = false
  66. windowtype windowtype = response!
  67. event ue_usual_query_filt ( )
  68. event ue_usual_query_retr ( )
  69. event user_key ( )
  70. event retrieve_uc ( )
  71. event ue_mode_itfchg ( )
  72. event refresh_interface ( )
  73. event ue_help ( )
  74. sle_usual_query sle_usual_query
  75. cb_nextpage cb_nextpage
  76. cb_priorpage cb_priorpage
  77. cb_firstpage cb_firstpage
  78. cb_retrieveall cb_retrieveall
  79. em_pagerowno em_pagerowno
  80. st_pagerowno st_pagerowno
  81. st_1 st_1
  82. cb_add cb_add
  83. cb_edit cb_edit
  84. cb_delet cb_delet
  85. cb_choice cb_choice
  86. cb_cancel cb_cancel
  87. cbx_mlselect cbx_mlselect
  88. cbx_allselect cbx_allselect
  89. cb_mode_itfchg_b cb_mode_itfchg_b
  90. cb_mode_itfchg cb_mode_itfchg
  91. gb_1 gb_1
  92. dw_uc dw_uc
  93. cb_retrieve cb_retrieve
  94. cb_print cb_print
  95. ln_bar ln_bar
  96. ln_bar2 ln_bar2
  97. r_bar r_bar
  98. ln_1 ln_1
  99. ln_2 ln_2
  100. dw_index dw_index
  101. end type
  102. global w_publ_edit_index w_publ_edit_index
  103. type variables
  104. boolean ls_update_flag=true
  105. long modifyrow_no=0,crl_row //当前行记录
  106. s_edit_tran para_obj //环境信息用于查询
  107. string keyword_string //关键字 未用
  108. date first_date //查询开始日
  109. date end_date //查询结束日,比表达日后一天
  110. int child_column_int //明细dw锁定列数
  111. string ins_sqlerrtext
  112. boolean if_retrieveing=false
  113. datastore ds_curquery //缓存查询条件
  114. string ori_oldselect //保存原始select
  115. string ls_newselect //保存加入查询条件后的select
  116. string pkcolumndbtname //pk列数据库中列名
  117. long onepage_rowlmno=100 //页行最大行数
  118. boolean retrieve_all=false //是否全部retrieve(不分页)
  119. int mode=0 //工作模式:0-编辑 1-带字符串参数预选择的选择/编辑
  120. long arg_pkid //目标定位id //备用
  121. string arg_string_code //默认常用查询内容
  122. string old_title=''
  123. int retrmode=0 // 0 retrieve all;1 first page ;2 prior page;3 next page;4 last page
  124. boolean if_select_all=false
  125. boolean if_changeselect=true
  126. int if_mlselect=0
  127. end variables
  128. forward prototypes
  129. public function integer wf_editindex_lockf ()
  130. public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode)
  131. public function string wf_get_pkcolumndbtname (datawindow arg_dw)
  132. public function integer wf_index_uc ()
  133. public function integer wf_face_change ()
  134. end prototypes
  135. event ue_usual_query_filt();//if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return
  136. //string obj_expr=''
  137. //if trim(sle_usual_query.text)<>'' then
  138. // if pos(trim(sle_usual_query.text),'%')=0 then
  139. // obj_expr=obj_expr+'( name like "%'+trim(sle_usual_query.text)+'%" )'
  140. // else
  141. // obj_expr=obj_expr+'( name like "'+trim(sle_usual_query.text)+'" )'
  142. // end if
  143. //end if
  144. //
  145. //dw_uc.setfilter(obj_expr)
  146. //
  147. //dw_uc.setredraw(false)
  148. //dw_index.setredraw(false)
  149. //dw_uc.filter()
  150. //if dw_index.rowcount()>=1 then
  151. // dw_index.selectrow(0,false)
  152. // dw_index.selectrow(1,true)
  153. //end if
  154. //dw_uc.setredraw(true)
  155. //dw_index.setredraw(true)
  156. end event
  157. event ue_usual_query_retr();//if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return
  158. //string ls_querystrpart=''
  159. //ls_newselect=lower(ori_oldselect)
  160. //if trim(sle_usual_query.text)<>'' then
  161. // if pos(trim(sle_usual_query.text),'%')=0 then
  162. // ls_querystrpart=ls_querystrpart + "(name like '%"+trim(sle_usual_query.text)+"%')"
  163. // else
  164. // ls_querystrpart=ls_querystrpart + "(name like '"+trim(sle_usual_query.text)+"')"
  165. // end if
  166. //
  167. // if pos(ls_newselect," where ") <> 0 then
  168. // ls_newselect=ls_newselect+" and ("+ls_querystrpart+')'
  169. // else
  170. // ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  171. // end if
  172. //end if
  173. // wf_retrieveuc(dw_uc,ls_newselect,1)
  174. //this.triggerevent('retrieve_uc') //注意必须有此句
  175. end event
  176. event user_key();if keydown(Keypageup!) then
  177. if cb_priorpage.enabled then cb_priorpage.triggerevent(clicked!)
  178. elseif keydown(Keypagedown!) then
  179. if cb_nextpage.enabled then cb_nextpage.triggerevent(clicked!)
  180. elseif keydown(Keyenter!) and keydown(keycontrol!) then
  181. if mode = 1 and not dw_edit_mode and cb_choice.enabled then cb_choice.triggerevent(clicked!)
  182. end if
  183. if keydown(keyshift!) then
  184. if cbx_mlselect.visible then
  185. cbx_mlselect.checked = not cbx_mlselect.checked
  186. cbx_mlselect.triggerevent(clicked!)
  187. end if
  188. end if
  189. if keydown(keycontrol!) and keydown(keya!) then
  190. if cbx_allselect.visible and cbx_allselect.enabled then
  191. cbx_allselect.checked = not cbx_allselect.checked
  192. cbx_allselect.triggerevent(clicked!)
  193. end if
  194. end if
  195. end event
  196. event retrieve_uc();boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  197. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  198. cb_firstpage_enabled=cb_firstpage.enabled
  199. cb_nextpage_enabled=cb_nextpage.enabled
  200. cb_retrieveall_enabled=cb_retrieveall.enabled
  201. cb_priorpage_enabled=cb_priorpage.enabled
  202. cb_func_enabled=cb_func.enabled
  203. cb_retrieve_enabled=cb_retrieve.enabled
  204. cb_firstpage.enabled=false
  205. cb_nextpage.enabled=false
  206. cb_retrieveall.enabled=false
  207. cb_priorpage.enabled=false
  208. cb_func.enabled=false
  209. cb_retrieve.enabled=false
  210. dw_UC.setredraw(false)
  211. dw_index.ShareDataOff()
  212. SetPointer(HourGlass!)
  213. dw_UC.retrieve()
  214. SetPointer(Arrow!)
  215. dw_uc.sharedata(dw_index)
  216. dw_UC.setredraw(true)
  217. if dw_index.rowcount()>=1 then
  218. dw_index.selectrow(0,false)
  219. dw_index.selectrow(1,true)
  220. end if
  221. cb_firstpage.enabled=cb_firstpage_enabled
  222. cb_nextpage.enabled=cb_nextpage_enabled
  223. cb_retrieveall.enabled=cb_retrieveall_enabled
  224. cb_priorpage.enabled=cb_priorpage_enabled
  225. cb_func.enabled=cb_func_enabled
  226. cb_retrieve.enabled=cb_retrieve_enabled
  227. end event
  228. event ue_mode_itfchg();//因工作模式(选择\非选择)改变界面布局
  229. IF mode = 1 THEN
  230. IF cb_mode_itfchg.Text = '<<' THEN
  231. cb_add.Enabled = FALSE
  232. cb_delet.Enabled = FALSE
  233. cb_edit.Enabled = FALSE
  234. cb_choice.Enabled = TRUE
  235. IF if_select_all THEN
  236. cbx_mlselect.Visible = TRUE
  237. cbx_allselect.Visible = TRUE
  238. ELSE
  239. cbx_mlselect.Visible = FALSE
  240. cbx_allselect.Visible = FALSE
  241. END IF
  242. ELSE
  243. cb_add.Enabled = TRUE
  244. cb_delet.Enabled = TRUE
  245. cb_edit.Enabled = TRUE
  246. cb_choice.Enabled = FALSE
  247. cbx_mlselect.Visible = FALSE
  248. cbx_allselect.Visible = FALSE
  249. IF if_select_all THEN
  250. cbx_mlselect.Checked = FALSE
  251. cbx_mlselect.TriggerEvent(Clicked!)
  252. END IF
  253. END IF
  254. END IF
  255. end event
  256. event ue_help();Int i
  257. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".html")
  258. end event
  259. public function integer wf_editindex_lockf ();//wf_editindex_lockf
  260. if retrieve_all or dw_edit_mode then
  261. cb_firstpage.enabled=false
  262. cb_nextpage.enabled=false
  263. cb_priorpage.enabled=false
  264. cb_retrieveall.enabled=false
  265. em_pagerowno.enabled=false
  266. Else
  267. cb_firstpage.enabled=true
  268. cb_nextpage.enabled=true
  269. cb_priorpage.enabled=true
  270. cb_retrieveall.enabled=TRUE
  271. // IF f_power_ind(3197,sys_msg_pow) THEN
  272. em_pagerowno.Enabled = True
  273. // ELSE
  274. // em_pagerowno.Enabled = False
  275. // END IF
  276. end if
  277. IF dw_edit_mode THEN
  278. sle_usual_query.enabled=false
  279. cb_func.enabled=FALSE
  280. ELSE
  281. sle_usual_query.enabled=TRUE
  282. cb_func.enabled=TRUE
  283. END IF
  284. return 1
  285. end function
  286. public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode);//====================================================================
  287. // Function: wf_retrieveuc()
  288. //--------------------------------------------------------------------
  289. // Description: 分页拼retr语句
  290. //--------------------------------------------------------------------
  291. // Arguments:
  292. // integer arg_retrmode: 0 retrieve all;1 first page ;2 prior page;3 next page;4 last page
  293. //--------------------------------------------------------------------
  294. // Returns: integer
  295. //--------------------------------------------------------------------
  296. // Author: yyx Date: 2003.10.17
  297. //--------------------------------------------------------------------
  298. // Modify History:
  299. //
  300. //====================================================================
  301. //取得当前的最大\最小ID
  302. //按上下翻页命令,拼接最新SELECT语句
  303. retrmode=arg_retrmode
  304. IF arg_retrmode=0 or retrieve_all THEN
  305. arg_dw.Modify("datawindow.table.select = ~"" + arg_newselect+ "~"")
  306. GOTO EXT
  307. END IF
  308. string cur_page_newselect,ls_pkcolname,LS_PAGE_ter=''
  309. cur_page_newselect=lower(trim(arg_newselect))
  310. LONG MAX_ID=0,MIN_ID=0,LS_I,ls_id
  311. ls_pkcolname=arg_dw.Describe("#1.name") //取得ID列名称
  312. if arg_retrmode<>1 then
  313. MAX_ID=0
  314. Min_ID=0
  315. FOR LS_I=1 TO arg_dw.ROWCOUNT()
  316. ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname)
  317. if LS_I=1 then
  318. MAX_ID=ls_id
  319. Min_ID=ls_id
  320. end if
  321. if not isnull(ls_id) then
  322. if MAX_ID<ls_id then MAX_ID=ls_id
  323. if Min_ID>ls_id then Min_ID=ls_id
  324. end if
  325. NEXT
  326. FOR LS_I=1 TO arg_dw.FilteredCount()
  327. ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname,filter!,true)
  328. if LS_I=1 and MAX_ID=0 and Min_ID=0 then
  329. MAX_ID=ls_id
  330. Min_ID=ls_id
  331. end if
  332. if not isnull(ls_id) then
  333. if MAX_ID<ls_id then MAX_ID=ls_id
  334. if Min_ID>ls_id then Min_ID=ls_id
  335. end if
  336. NEXT
  337. end if
  338. cur_page_newselect=trim(cur_page_newselect)
  339. IF not (retrieve_all or retrmode=0) then
  340. cur_page_newselect='select top '+string(onepage_rowlmno)+' '+mid( cur_page_newselect , 8)
  341. end if
  342. CHOOSE CASE arg_retrmode
  343. CASE 1 //第一页
  344. LS_PAGE_ter=''
  345. CASE 2 //上一页
  346. LS_PAGE_ter=pkcolumndbtname+'>'+STRING(MAX_ID)
  347. CASE 3 //下一页
  348. LS_PAGE_ter=pkcolumndbtname+'<'+STRING(Min_ID)
  349. CASE 4 //末页
  350. LS_PAGE_ter=''
  351. END CHOOSE
  352. IF TRIM(LS_PAGE_ter)<>'' THEN
  353. if Pos(cur_page_newselect," where ") <> 0 then
  354. cur_page_newselect=cur_page_newselect+" AND ("+LS_PAGE_ter+')'
  355. else
  356. cur_page_newselect=cur_page_newselect+" WHERE ("+LS_PAGE_ter+')'
  357. end if
  358. END IF
  359. IF arg_retrmode=2 or arg_retrmode=4 THEN
  360. cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname
  361. ELSE
  362. cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname+' DESC'
  363. END IF
  364. arg_dw.Modify("datawindow.table.select = ~"" + cur_page_newselect+ "~"")
  365. EXT:
  366. RETURN 1
  367. end function
  368. public function string wf_get_pkcolumndbtname (datawindow arg_dw);//====================================================================
  369. // Function: wf_get_pkcolumndbtname()
  370. //--------------------------------------------------------------------
  371. // Description:取第一列为关键字
  372. //--------------------------------------------------------------------
  373. // Arguments:(None)
  374. //--------------------------------------------------------------------
  375. // Returns: string
  376. //--------------------------------------------------------------------
  377. // Author: yyx Date: 2003.10.17
  378. //--------------------------------------------------------------------
  379. // Modify History:
  380. //
  381. //====================================================================
  382. string ls_pkcolumndbtname,ls_str,tmp_oldselect
  383. long l_pos
  384. ls_pkcolumndbtname=arg_dw.Describe("#1.dbname")
  385. if pos(ls_pkcolumndbtname,'.')<=0 then
  386. tmp_oldselect=trim(arg_dw.Describe("DataWindow.Table.Select"))
  387. ls_str=mid(tmp_oldselect,8)
  388. if pos(ls_str,'.')>pos(ls_str,',') then
  389. goto ext
  390. else
  391. ls_pkcolumndbtname=left(ls_str,pos(ls_str,',') - 1)
  392. end if
  393. end if
  394. ext:
  395. return ls_pkcolumndbtname
  396. end function
  397. public function integer wf_index_uc ();//WF_INDEX_UC
  398. LONG LS_LONG
  399. LS_LONG=DW_UC.GETROW()
  400. dw_index.SETROW(LS_LONG)
  401. dw_index.ScrollToRow(LS_LONG)
  402. dw_index.selectrow(0,false)
  403. dw_index.selectrow(LS_LONG,true)
  404. RETURN 0
  405. end function
  406. public function integer wf_face_change ();if dw_edit_mode then
  407. cb_func.enabled = false
  408. cb_retrieve.enabled = false
  409. cb_delet.enabled = false
  410. cb_print.enabled = false
  411. cb_choice.Enabled = FALSE
  412. sle_usual_query.Enabled = FALSE
  413. cb_edit.text = "放弃&E"
  414. cb_add.text = "保存&S"
  415. cb_edit.normalpicname = 'Undo.bmp'
  416. cb_add.normalpicname = 'Save.bmp'
  417. else
  418. cb_retrieve.enabled = true
  419. cb_delet.enabled = true
  420. cb_print.enabled = true
  421. cb_func.enabled = true
  422. sle_usual_query.Enabled = TRUE
  423. IF mode = 1 THEN
  424. cb_choice.Enabled = TRUE
  425. ELSE
  426. cb_choice.Enabled = FALSE
  427. END IF
  428. cb_edit.text = "修改&E"
  429. cb_add.text = "新建&S"
  430. cb_edit.normalpicname = 'OPEN.bmp'
  431. cb_add.normalpicname = 'new.bmp'
  432. end if
  433. cb_edit.of_init_draw()
  434. cb_add.of_init_draw()
  435. cb_edit.of_paint()
  436. cb_add.of_paint()
  437. cb_edit.triggerevent('ue_textchange')
  438. cb_add.triggerevent('ue_textchange')
  439. this.triggerevent('refresh_interface')
  440. return 1
  441. end function
  442. on w_publ_edit_index.create
  443. int iCurrent
  444. call super::create
  445. this.sle_usual_query=create sle_usual_query
  446. this.cb_nextpage=create cb_nextpage
  447. this.cb_priorpage=create cb_priorpage
  448. this.cb_firstpage=create cb_firstpage
  449. this.cb_retrieveall=create cb_retrieveall
  450. this.em_pagerowno=create em_pagerowno
  451. this.st_pagerowno=create st_pagerowno
  452. this.st_1=create st_1
  453. this.cb_add=create cb_add
  454. this.cb_edit=create cb_edit
  455. this.cb_delet=create cb_delet
  456. this.cb_choice=create cb_choice
  457. this.cb_cancel=create cb_cancel
  458. this.cbx_mlselect=create cbx_mlselect
  459. this.cbx_allselect=create cbx_allselect
  460. this.cb_mode_itfchg_b=create cb_mode_itfchg_b
  461. this.cb_mode_itfchg=create cb_mode_itfchg
  462. this.gb_1=create gb_1
  463. this.dw_uc=create dw_uc
  464. this.cb_retrieve=create cb_retrieve
  465. this.cb_print=create cb_print
  466. this.ln_bar=create ln_bar
  467. this.ln_bar2=create ln_bar2
  468. this.r_bar=create r_bar
  469. this.ln_1=create ln_1
  470. this.ln_2=create ln_2
  471. this.dw_index=create dw_index
  472. iCurrent=UpperBound(this.Control)
  473. this.Control[iCurrent+1]=this.sle_usual_query
  474. this.Control[iCurrent+2]=this.cb_nextpage
  475. this.Control[iCurrent+3]=this.cb_priorpage
  476. this.Control[iCurrent+4]=this.cb_firstpage
  477. this.Control[iCurrent+5]=this.cb_retrieveall
  478. this.Control[iCurrent+6]=this.em_pagerowno
  479. this.Control[iCurrent+7]=this.st_pagerowno
  480. this.Control[iCurrent+8]=this.st_1
  481. this.Control[iCurrent+9]=this.cb_add
  482. this.Control[iCurrent+10]=this.cb_edit
  483. this.Control[iCurrent+11]=this.cb_delet
  484. this.Control[iCurrent+12]=this.cb_choice
  485. this.Control[iCurrent+13]=this.cb_cancel
  486. this.Control[iCurrent+14]=this.cbx_mlselect
  487. this.Control[iCurrent+15]=this.cbx_allselect
  488. this.Control[iCurrent+16]=this.cb_mode_itfchg_b
  489. this.Control[iCurrent+17]=this.cb_mode_itfchg
  490. this.Control[iCurrent+18]=this.gb_1
  491. this.Control[iCurrent+19]=this.dw_uc
  492. this.Control[iCurrent+20]=this.cb_retrieve
  493. this.Control[iCurrent+21]=this.cb_print
  494. this.Control[iCurrent+22]=this.ln_bar
  495. this.Control[iCurrent+23]=this.ln_bar2
  496. this.Control[iCurrent+24]=this.r_bar
  497. this.Control[iCurrent+25]=this.ln_1
  498. this.Control[iCurrent+26]=this.ln_2
  499. this.Control[iCurrent+27]=this.dw_index
  500. end on
  501. on w_publ_edit_index.destroy
  502. call super::destroy
  503. destroy(this.sle_usual_query)
  504. destroy(this.cb_nextpage)
  505. destroy(this.cb_priorpage)
  506. destroy(this.cb_firstpage)
  507. destroy(this.cb_retrieveall)
  508. destroy(this.em_pagerowno)
  509. destroy(this.st_pagerowno)
  510. destroy(this.st_1)
  511. destroy(this.cb_add)
  512. destroy(this.cb_edit)
  513. destroy(this.cb_delet)
  514. destroy(this.cb_choice)
  515. destroy(this.cb_cancel)
  516. destroy(this.cbx_mlselect)
  517. destroy(this.cbx_allselect)
  518. destroy(this.cb_mode_itfchg_b)
  519. destroy(this.cb_mode_itfchg)
  520. destroy(this.gb_1)
  521. destroy(this.dw_uc)
  522. destroy(this.cb_retrieve)
  523. destroy(this.cb_print)
  524. destroy(this.ln_bar)
  525. destroy(this.ln_bar2)
  526. destroy(this.r_bar)
  527. destroy(this.ln_1)
  528. destroy(this.ln_2)
  529. destroy(this.dw_index)
  530. end on
  531. event open;call super::open;if_ue_retr=true
  532. if_ue_filter=true
  533. if_ue_sort=true
  534. old_title = this.title
  535. s_edit_index_tran s_tran //传递参数使用
  536. s_tran = message.powerobjectparm
  537. if not isnull(s_tran) then
  538. retrieve_all = s_tran.if_retrieve_all
  539. mode = s_tran.work_mode
  540. arg_pkid = s_tran.arg_pkid
  541. arg_string_code = s_tran.arg_string_code
  542. if_select_all = s_tran.if_select_all
  543. end if
  544. //choose case mode
  545. // case 0
  546. // this.title = old_title+' 编辑模式 [f4-新建/保存 f5-编辑/放弃]'
  547. // case 1
  548. // this.title = old_title+' 选择模式 [f4-新建/保存 f5-编辑/放弃]'
  549. //end choose
  550. dw_uc.settransobject (sqlca)
  551. dw_index.settransobject (sqlca)
  552. dw_index.rbutton_filter_use = true //右键查询功能开关
  553. pkcolumndbtname = wf_get_pkcolumndbtname(dw_uc) //取第一列为关键字
  554. ori_oldselect = dw_uc.describe("datawindow.table.select")
  555. ls_newselect = ori_oldselect
  556. ds_curquery = create datastore
  557. ds_curquery.dataobject = 'd_extr_find'
  558. ds_curquery.settransobject (sqlca)
  559. cbx_mlselect.visible = false
  560. cbx_allselect.visible = false
  561. if mode = 1 then cb_mode_itfchg.triggerevent(clicked!)
  562. wf_editindex_lockf()
  563. if not retrieve_all and trim(arg_string_code) <> '' then
  564. sle_usual_query.text = trim(arg_string_code)
  565. this.triggerevent("ue_usual_query_retr") //修改ls_newselect,retrieve
  566. else
  567. wf_retrieveuc(dw_uc,ls_newselect,1) //retrieve
  568. this.triggerevent('retrieve_uc')
  569. end if
  570. if retrieve_all and trim(arg_string_code) <> '' then
  571. this.triggerevent("ue_usual_query_filt")
  572. end if
  573. end event
  574. event ue_retr;call super::ue_retr;s_extrtriequery_tran s_dbdw
  575. s_dbdw.query_dw=dw_UC
  576. s_dbdw.ptn_ds=ds_curquery
  577. s_dbdw.query_oldselect=ori_oldselect
  578. string ls_select=''
  579. OPENWITHPARM(w_extr_query,s_dbdw)
  580. ls_select = Message.StringParm
  581. if TRIM(ls_select)="" OR ISNULL(ls_select) then
  582. return
  583. else
  584. ls_newselect=ls_select
  585. END IF
  586. DW_index.SetRedraw(FALSE)
  587. wf_retrieveuc(dw_uc,ls_newselect,1)
  588. DW_index.SetRedraw(TRUE)
  589. end event
  590. event close;call super::close;//CLOSEWITHRETURN(THIS,<INS_RT_STRU>)
  591. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  592. end event
  593. event closequery;call super::closequery;if dw_edit_mode then
  594. dw_UC.ACCEPTTEXT()
  595. int ls_row=0
  596. ls_row=dw_UC.GetNextModified(0, Primary!)+&
  597. dw_UC.GetNextModified(0, FILTER!)+dw_UC.DeletedCount()
  598. if ls_row>0 then
  599. if messagebox('是否保存','数据已经改变,是否先保存?',Question!,YesNo!,1 ) = 1 THEN
  600. RETURN 1
  601. END IF
  602. end if
  603. else
  604. if if_retrieveing then
  605. messagebox("系统提示",'系统正在查询数据,请稍后再退出!')
  606. return 1
  607. end if
  608. end if
  609. end event
  610. event key;call super::key;THIS.TRIGGEREVENT('USER_KEY')
  611. end event
  612. event ue_filter;call super::ue_filter;OPENWITHPARM(w_filter_query,dw_uc)
  613. STRING LS_EXPR
  614. LS_EXPR=Message.StringParm
  615. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  616. dw_uc.setfilter(LS_EXPR)
  617. dw_uc.SetRedraw (false)
  618. dw_uc.filter()
  619. dw_uc.SetRedraw (true)
  620. end event
  621. event ue_sort;call super::ue_sort;OPENwithparm(w_sortrow,dw_UC)
  622. STRING LS_EXPR
  623. LS_EXPR=Message.StringParm
  624. IF ISNULL(LS_EXPR) THEN LS_EXPR=' '
  625. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  626. dw_UC.setsort(LS_EXPR)
  627. dw_UC.SetRedraw (false)
  628. dw_UC.sort()
  629. dw_UC.SetRedraw (true)
  630. end event
  631. event ue_sentdataout;call super::ue_sentdataout;OPENWITHPARM(w_sentdataout,dw_index)
  632. end event
  633. event resize;call super::resize;ln_bar.endx = this.width
  634. ln_bar2.endx = this.width
  635. ln_1.endx = this.width
  636. ln_2.endx = this.width
  637. r_bar.width = this.width
  638. end event
  639. type cb_func from w_publ_base`cb_func within w_publ_edit_index
  640. integer x = 686
  641. integer width = 151
  642. integer height = 164
  643. integer taborder = 30
  644. string normalpicname = "setting.bmp"
  645. integer picsize = 16
  646. toolbaralignment pic_align = alignattop!
  647. boolean border = false
  648. end type
  649. type cb_exit from w_publ_base`cb_exit within w_publ_edit_index
  650. integer x = 1275
  651. integer width = 151
  652. integer height = 164
  653. integer taborder = 20
  654. integer picsize = 16
  655. toolbaralignment pic_align = alignattop!
  656. boolean border = false
  657. end type
  658. type sle_usual_query from u_sleedit within w_publ_edit_index
  659. integer x = 206
  660. integer y = 184
  661. integer height = 92
  662. boolean autohscroll = true
  663. end type
  664. event inputchanged;call super::inputchanged;IF retrieve_all THEN
  665. PARENT.TRIGGEREVENT("ue_usual_query_filt")
  666. END IF
  667. end event
  668. event keyup;call super::keyup;IF NOT dw_edit_mode THEN
  669. If Key = KeyDownArrow! Then //
  670. dw_INDEX.ScrollNextRow()
  671. End If
  672. If Key = KeyUPArrow! Then //
  673. dw_INDEX.ScrollPriorRow()
  674. End If
  675. END IF
  676. end event
  677. event modified;call super::modified;IF retrieve_all or retrmode=0 THEN
  678. PARENT.TRIGGEREVENT("ue_usual_query_filt")
  679. ELSE
  680. PARENT.TRIGGEREVENT("ue_usual_query_RETR")
  681. END IF
  682. end event
  683. type cb_nextpage from uo_imflatbutton within w_publ_edit_index
  684. integer x = 2181
  685. integer width = 151
  686. integer height = 164
  687. integer taborder = 140
  688. string text = "末页"
  689. string normalpicname = "p4.ico"
  690. integer picsize = 16
  691. toolbaralignment pic_align = alignattop!
  692. boolean border = false
  693. end type
  694. event clicked;call super::clicked;wf_retrieveuc(dw_uc,ls_newselect,4)
  695. parent.triggerevent('retrieve_uc')
  696. end event
  697. type cb_priorpage from uo_imflatbutton within w_publ_edit_index
  698. integer x = 2030
  699. integer width = 151
  700. integer height = 164
  701. integer taborder = 130
  702. string text = "下页"
  703. string normalpicname = "p3.ico"
  704. integer picsize = 16
  705. toolbaralignment pic_align = alignattop!
  706. boolean border = false
  707. end type
  708. event clicked;call super::clicked;wf_retrieveuc(dw_uc,ls_newselect,3)
  709. parent.triggerevent('retrieve_uc')
  710. end event
  711. type cb_firstpage from uo_imflatbutton within w_publ_edit_index
  712. integer x = 1879
  713. integer width = 151
  714. integer height = 164
  715. integer taborder = 120
  716. string text = "上页"
  717. string normalpicname = "p2.ico"
  718. integer picsize = 16
  719. toolbaralignment pic_align = alignattop!
  720. boolean border = false
  721. end type
  722. event clicked;call super::clicked;wf_retrieveuc(dw_uc,ls_newselect,2)
  723. parent.triggerevent('retrieve_uc')
  724. end event
  725. type cb_retrieveall from uo_imflatbutton within w_publ_edit_index
  726. integer x = 1728
  727. integer width = 151
  728. integer height = 164
  729. integer taborder = 70
  730. string text = "首页"
  731. string normalpicname = "p1.ico"
  732. integer picsize = 16
  733. toolbaralignment pic_align = alignattop!
  734. boolean border = false
  735. end type
  736. event clicked;call super::clicked;wf_retrieveuc(dw_uc,ls_newselect,1)
  737. parent.triggerevent('retrieve_uc')
  738. end event
  739. type em_pagerowno from editmask within w_publ_edit_index
  740. integer x = 1426
  741. integer y = 32
  742. integer width = 302
  743. integer height = 96
  744. integer taborder = 60
  745. integer textsize = -9
  746. integer weight = 400
  747. fontcharset fontcharset = gb2312charset!
  748. fontpitch fontpitch = variable!
  749. string facename = "宋体"
  750. long textcolor = 33554432
  751. string text = "1000"
  752. borderstyle borderstyle = stylelowered!
  753. string mask = "#####0"
  754. boolean spin = true
  755. end type
  756. event constructor;//IF f_power_ind(3197,sys_msg_pow) THEN
  757. // This.Text = f_profilestring (sys_empid,dw_uc.DataObject, "pagerowno",'100')
  758. //ELSE
  759. This.Text = String(1000)
  760. //END IF
  761. onepage_rowlmno = Long(This.Text)
  762. end event
  763. event modified;if long(this.text) > 0 then
  764. else
  765. this.text = '1'
  766. end if
  767. onepage_rowlmno = long(this.text)
  768. f_setprofilestring (sys_empid,dw_uc.dataobject, "pagerowno", this.text)
  769. end event
  770. type st_pagerowno from statictext within w_publ_edit_index
  771. boolean visible = false
  772. integer x = 434
  773. integer y = 748
  774. integer width = 197
  775. integer height = 48
  776. integer textsize = -9
  777. integer weight = 400
  778. fontcharset fontcharset = gb2312charset!
  779. fontpitch fontpitch = variable!
  780. string facename = "宋体"
  781. long textcolor = 33554432
  782. long backcolor = 134217739
  783. boolean enabled = false
  784. string text = "页行数"
  785. boolean focusrectangle = false
  786. end type
  787. type st_1 from statictext within w_publ_edit_index
  788. integer x = 14
  789. integer y = 204
  790. integer width = 219
  791. integer height = 48
  792. integer textsize = -9
  793. integer weight = 400
  794. fontcharset fontcharset = gb2312charset!
  795. fontpitch fontpitch = variable!
  796. string facename = "宋体"
  797. long textcolor = 33554432
  798. long backcolor = 134217739
  799. string text = "编码含"
  800. boolean focusrectangle = false
  801. end type
  802. type cb_add from uo_imflatbutton within w_publ_edit_index
  803. integer width = 192
  804. integer height = 164
  805. integer taborder = 150
  806. boolean bringtotop = true
  807. string text = "新建&S"
  808. string normalpicname = "new.bmp"
  809. integer picsize = 16
  810. toolbaralignment pic_align = alignattop!
  811. boolean border = false
  812. end type
  813. event clicked;call super::clicked;if dw_edit_mode then
  814. string ls_errmsg
  815. if dw_uc.update() = -1 then
  816. if pos(ins_sqlerrtext,"cannot insert duplicate key row") > 0 or pos(ins_sqlerrtext,"unique key") > 0 then
  817. ls_errmsg = "关键内容重复"
  818. else
  819. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  820. end if
  821. rollback;
  822. messagebox ("系统提示",ls_errmsg+",保存操作失败!",exclamation!,ok!)
  823. ls_update_flag = false
  824. return
  825. else
  826. commit;
  827. ls_update_flag = true
  828. end if
  829. ins_sqlerrtext = ""
  830. dw_uc.enabled = false
  831. else
  832. long li_row, li_cur_row
  833. li_cur_row = dw_uc.getrow()
  834. li_row = dw_uc.insertrow (li_cur_row)
  835. dw_uc.scrolltorow (li_row)
  836. dw_uc.enabled = true
  837. dw_uc.setfocus()
  838. modifyrow_no = li_row
  839. end if
  840. dw_edit_mode = not dw_edit_mode
  841. wf_face_change()
  842. if dw_edit_mode then
  843. if cb_mode_itfchg.text = '<<' then
  844. cb_mode_itfchg.triggerevent(clicked!)
  845. end if
  846. else
  847. wf_index_uc()
  848. end if
  849. dw_index.rbutton_filter_use = not dw_edit_mode
  850. wf_editindex_lockf()
  851. end event
  852. type cb_edit from uo_imflatbutton within w_publ_edit_index
  853. integer x = 192
  854. integer width = 192
  855. integer height = 164
  856. integer taborder = 170
  857. boolean bringtotop = true
  858. string text = "修改&E"
  859. string normalpicname = "open.bmp"
  860. integer picsize = 16
  861. toolbaralignment pic_align = alignattop!
  862. boolean border = false
  863. end type
  864. event clicked;call super::clicked;if dw_edit_mode then
  865. IF MessageBox ("IF","是否确定要放弃保存当前资料?",Question!,YesNo! ) = 2 THEN RETURN
  866. if dw_uc.getitemstatus(dw_uc.getrow(), 0, primary!) = newmodified! or dw_uc.getitemstatus(dw_uc.getrow(), 0, primary!) = new! then
  867. dw_uc.deleterow(dw_uc.getrow())
  868. else
  869. dw_uc.reselectrow(dw_uc.getrow())
  870. end if
  871. dw_uc.enabled = false
  872. modifyrow_no = 0
  873. else
  874. dw_uc.enabled = true
  875. dw_uc.setfocus()
  876. modifyrow_no = dw_uc.getrow()
  877. end if
  878. dw_edit_mode = not dw_edit_mode
  879. wf_face_change()
  880. if dw_edit_mode then
  881. if cb_mode_itfchg.text = '<<' then
  882. cb_mode_itfchg.triggerevent(clicked!)
  883. end if
  884. else
  885. wf_index_uc()
  886. end if
  887. dw_index.rbutton_filter_use = not dw_edit_mode
  888. wf_editindex_lockf()
  889. end event
  890. type cb_delet from uo_imflatbutton within w_publ_edit_index
  891. integer x = 384
  892. integer width = 151
  893. integer height = 164
  894. integer taborder = 180
  895. boolean bringtotop = true
  896. string text = "删除"
  897. string normalpicname = "delete.bmp"
  898. integer picsize = 16
  899. toolbaralignment pic_align = alignattop!
  900. boolean border = false
  901. end type
  902. event clicked;call super::clicked;//IF MessageBox ("IF","是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  903. //RETURN
  904. //END IF
  905. //dw_uc.SetRedraw (false)
  906. //dw_UC.DeleteRow (0)
  907. //dw_UC.TriggerEvent (rowfocuschanged!)
  908. //
  909. //if dw_UC.Update() = -1 then
  910. // rollback;
  911. // MessageBox ("NO","删除记录操作失败!",Exclamation!,OK!)
  912. //else
  913. // commit;
  914. //end if
  915. //dw_uc.SetRedraw (true)
  916. //
  917. //WF_INDEX_UC()
  918. end event
  919. type cb_choice from uo_imflatbutton within w_publ_edit_index
  920. string tag = "选定[C^+Enter]"
  921. integer x = 1125
  922. integer width = 151
  923. integer height = 164
  924. integer taborder = 190
  925. boolean bringtotop = true
  926. string text = "选定"
  927. string normalpicname = "ok.bmp"
  928. integer picsize = 16
  929. toolbaralignment pic_align = alignattop!
  930. boolean border = false
  931. end type
  932. event clicked;call super::clicked;////单选代码
  933. ////LONG LS_ROW
  934. ////LS_ROW=dw_uc.getrow()
  935. ////if LS_ROW<=0 then
  936. //// messagebox('系统提示','请先选择目标行!',StopSign!)
  937. //// return
  938. ////end if
  939. ////
  940. ////INS_RT_STRU.scustid=dw_INDEX.OBJECT.custid[LS_ROW]
  941. ////...
  942. ////CLOSE(PARENT)
  943. /////多选代码
  944. //LONG ROW,ls_i,chC=0
  945. //ROW=dw_pageretr.GETROW()
  946. //if ROW<=0 then
  947. // messagebox('系统提示','请先选择目标行!',StopSign!)
  948. // return
  949. //end if
  950. //
  951. //for ls_i=1 to dw_pageretr.rowcount()
  952. // if dw_pageretr.isselected(ls_i) then
  953. // chC++
  954. // INS_RT_STRU.mtrlwareid[ls_i]=dw_pageretr.OBJECT.mtrlwareid[ls_i]
  955. // INS_RT_STRU.mtrlid[ls_i]=dw_pageretr.OBJECT.mtrlid[ls_i]
  956. // INS_RT_STRU.u_mtrldef_mtrlcode[ls_i]=dw_pageretr.OBJECT.u_mtrldef_mtrlcode[ls_i]
  957. // INS_RT_STRU.u_mtrldef_mtrlname[ls_i]=dw_pageretr.OBJECT.u_mtrldef_mtrlname[ls_i]
  958. // INS_RT_STRU.u_mtrldef_mtrltype[ls_i]=dw_pageretr.OBJECT.u_mtrldef_mtrltype[ls_i]
  959. // INS_RT_STRU.u_mtrldef_unit[ls_i]=dw_pageretr.OBJECT.u_mtrldef_unit[ls_i]
  960. // INS_RT_STRU.noallocqty[ls_i]=dw_pageretr.OBJECT.noallocqty[ls_i]
  961. // INS_RT_STRU.cost[ls_i]=dw_pageretr.OBJECT.cost[ls_i]
  962. // INS_RT_STRU.planprice[ls_i]=dw_pageretr.OBJECT.planprice[ls_i]
  963. // INS_RT_STRU.storageid[ls_i]=dw_pageretr.OBJECT.storageid[ls_i]
  964. // INS_RT_STRU.plancode[ls_i]=dw_pageretr.OBJECT.plancode[ls_i]
  965. // INS_RT_STRU.billtype[ls_i]=dw_pageretr.OBJECT.billtype[ls_i]
  966. // INS_RT_STRU.noauditingqty[ls_i]=dw_pageretr.OBJECT.noauditingqty[ls_i]
  967. // if isnull(INS_RT_STRU.noauditingqty[ls_i]) then INS_RT_STRU.noauditingqty[ls_i]=0
  968. // end if
  969. //
  970. //next
  971. //if chC=0 then
  972. // messagebox('系统提示','请至少选择一个目标行!',StopSign!)
  973. // return
  974. //end if
  975. //
  976. //CLOSE(PARENT)
  977. end event
  978. type cb_cancel from uo_imflatbutton within w_publ_edit_index
  979. string tag = "取消[&Esc]"
  980. boolean visible = false
  981. integer x = 270
  982. integer y = 592
  983. integer width = 329
  984. integer height = 112
  985. integer taborder = 200
  986. boolean bringtotop = true
  987. boolean enabled = false
  988. string text = "取消"
  989. end type
  990. event clicked;call super::clicked;CLOSE(PARENT)
  991. end event
  992. type cbx_mlselect from checkbox within w_publ_edit_index
  993. integer x = 1458
  994. integer y = 204
  995. integer width = 215
  996. integer height = 60
  997. boolean bringtotop = true
  998. integer textsize = -9
  999. integer weight = 400
  1000. fontcharset fontcharset = gb2312charset!
  1001. fontpitch fontpitch = variable!
  1002. string facename = "宋体"
  1003. long textcolor = 16711680
  1004. long backcolor = 134217739
  1005. string text = "多选"
  1006. end type
  1007. event clicked;if this.checked then
  1008. if_mlselect=1
  1009. cbx_allselect.enabled=true
  1010. else
  1011. if_mlselect=0
  1012. cbx_allselect.enabled=false
  1013. cbx_allselect.checked=false
  1014. cbx_allselect.triggerevent(clicked!)
  1015. end if
  1016. f_SetProfileString (sys_empid,dw_index.DATAOBJECT, "if_mlselect", string(if_mlselect))
  1017. end event
  1018. type cbx_allselect from checkbox within w_publ_edit_index
  1019. integer x = 1774
  1020. integer y = 204
  1021. integer width = 229
  1022. integer height = 60
  1023. boolean bringtotop = true
  1024. integer textsize = -9
  1025. integer weight = 400
  1026. fontcharset fontcharset = gb2312charset!
  1027. fontpitch fontpitch = variable!
  1028. string facename = "宋体"
  1029. long textcolor = 16711680
  1030. long backcolor = 134217739
  1031. string text = "全选"
  1032. end type
  1033. event clicked;If dw_index.RowCount() <= 0 Then Return
  1034. Long li
  1035. dw_index.setredraw(false)
  1036. If This.Checked Then
  1037. For li = 1 To dw_index.RowCount()
  1038. dw_index.SelectRow(li,True)
  1039. Next
  1040. Else
  1041. For li = 1 To dw_index.RowCount()
  1042. dw_index.SelectRow(li,False)
  1043. Next
  1044. End If
  1045. dw_index.setredraw(true)
  1046. end event
  1047. type cb_mode_itfchg_b from uo_imflatbutton within w_publ_edit_index
  1048. boolean visible = false
  1049. integer x = 709
  1050. integer y = 1004
  1051. integer width = 78
  1052. integer height = 132
  1053. integer taborder = 160
  1054. boolean bringtotop = true
  1055. boolean enabled = false
  1056. string text = ">>"
  1057. end type
  1058. event clicked;call super::clicked;cb_mode_itfchg.TRIGGEREVENT(clicked!)
  1059. this.text=cb_mode_itfchg.text
  1060. cb_mode_itfchg.triggerevent('ue_textchange')
  1061. end event
  1062. type cb_mode_itfchg from uo_imflatbutton within w_publ_edit_index
  1063. integer x = 1029
  1064. integer width = 96
  1065. integer height = 164
  1066. integer taborder = 80
  1067. boolean bringtotop = true
  1068. string text = ">>"
  1069. boolean border = false
  1070. end type
  1071. event clicked;call super::clicked;IF THIS.Text = '<<' THEN
  1072. THIS.Text = '>>'
  1073. dw_index.Width = dw_uc.X+1 - dw_index.X
  1074. dw_index.Y = dw_uc.Y
  1075. ELSE
  1076. THIS.Text = '<<'
  1077. dw_index.Width = dw_uc.X+1+dw_uc.Width - dw_index.X
  1078. dw_index.Y = dw_uc.Y
  1079. END IF
  1080. PARENT.TriggerEvent('ue_mode_itfchg')
  1081. cb_mode_itfchg_b.Text = THIS.Text
  1082. cb_mode_itfchg_b.TriggerEvent('ue_textchange')
  1083. end event
  1084. type gb_1 from groupbox within w_publ_edit_index
  1085. boolean visible = false
  1086. integer x = 87
  1087. integer y = 844
  1088. integer width = 1184
  1089. integer height = 148
  1090. integer taborder = 50
  1091. integer textsize = -9
  1092. integer weight = 400
  1093. fontcharset fontcharset = gb2312charset!
  1094. fontpitch fontpitch = variable!
  1095. string facename = "宋体"
  1096. long textcolor = 33554432
  1097. long backcolor = 134217739
  1098. boolean enabled = false
  1099. end type
  1100. type dw_uc from datawindow within w_publ_edit_index
  1101. event key pbm_dwnkey
  1102. event ue_dw_scroll pbm_vscroll
  1103. integer x = 1362
  1104. integer y = 292
  1105. integer width = 1495
  1106. integer height = 1372
  1107. integer taborder = 90
  1108. boolean enabled = false
  1109. string title = "none"
  1110. boolean livescroll = true
  1111. borderstyle borderstyle = stylelowered!
  1112. end type
  1113. event key;PARENT.TRIGGEREVENT('USER_KEY')
  1114. boolean cancel_key=false
  1115. If key = KeyEnter! or key = Keydownarrow! Then //
  1116. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1117. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1118. cancel_key=true
  1119. elseif key = Keyuparrow! then
  1120. keybd_event ( 16, 0, 0 , 0 )
  1121. keybd_event ( 9, 0, 0 , 0 )
  1122. keybd_event ( 9, 0, 2, 0 )
  1123. keybd_event ( 16, 0, 2, 0 )
  1124. cancel_key=true
  1125. End If
  1126. this.ScrollToRow(this.getrow())
  1127. if cancel_key then return 1
  1128. end event
  1129. event ue_dw_scroll;return 1
  1130. end event
  1131. event dberror;ins_sqlerrtext=sqlerrtext
  1132. return 1
  1133. end event
  1134. event retrieverow;IF not (retrieve_all or retrmode=0) and row>=onepage_rowlmno THEN RETURN 1
  1135. end event
  1136. event rowfocuschanged;IF modifyrow_no >0 AND dw_edit_mode THEN
  1137. THIS.SETROW(modifyrow_no)
  1138. THIS.ScrollToRow(modifyrow_no)
  1139. END IF
  1140. end event
  1141. event rowfocuschanging;IF dw_edit_mode THEN RETURN 1
  1142. end event
  1143. event rbuttondown;if not dw_edit_mode then return
  1144. Long ll_row,ll_column
  1145. ll_row = THIS.GetRow()
  1146. ll_column = THIS.GetColumn()
  1147. IF ll_row <= 0 THEN RETURN
  1148. IF ll_column <= 0 THEN RETURN
  1149. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  1150. s_calender_arg s_calender
  1151. s_calender.PointerX = xpos
  1152. s_calender.PointerY = ypos
  1153. s_calender.X = THIS.X + PARENT.X
  1154. s_calender.Y = THIS.Y + PARENT.Y
  1155. OpenWithParm(w_calendar,s_calender)
  1156. THIS.SetItem(ll_row,ll_column,id_date_selected)
  1157. END IF
  1158. end event
  1159. type cb_retrieve from uo_imflatbutton within w_publ_edit_index
  1160. integer x = 535
  1161. integer width = 151
  1162. integer height = 164
  1163. integer taborder = 100
  1164. boolean bringtotop = true
  1165. string text = "刷新"
  1166. string normalpicname = "refresh.bmp"
  1167. integer picsize = 16
  1168. toolbaralignment pic_align = alignattop!
  1169. boolean border = false
  1170. end type
  1171. event clicked;call super::clicked;parent.triggerevent('retrieve_uc')
  1172. wf_index_uc()
  1173. end event
  1174. type cb_print from uo_imflatbutton within w_publ_edit_index
  1175. integer x = 837
  1176. integer width = 192
  1177. integer height = 164
  1178. integer taborder = 110
  1179. boolean bringtotop = true
  1180. string text = "预览&P"
  1181. string normalpicname = "print.bmp"
  1182. integer picsize = 16
  1183. toolbaralignment pic_align = alignattop!
  1184. boolean border = false
  1185. end type
  1186. event clicked;call super::clicked;//S_print_MSG LS_PRMSG
  1187. //
  1188. //LS_PRMSG.obj_dwNAME='dwrp_zl_lsdzl'
  1189. //LS_PRMSG.SHARE_DW=DW_UC
  1190. //LS_PRMSG.TAG_TEXT='零售点资料表'
  1191. //LS_PRMSG.SETUP_FLAG=0
  1192. //LS_PRMSG.PAGECH_FLAG=1
  1193. //
  1194. //Openwithparm(w_publ_preview,LS_PRMSG)
  1195. //
  1196. end event
  1197. type ln_bar from line within w_publ_edit_index
  1198. long linecolor = 268435456
  1199. integer linethickness = 4
  1200. integer beginx = -46
  1201. integer beginy = 172
  1202. integer endx = 1961
  1203. integer endy = 172
  1204. end type
  1205. type ln_bar2 from line within w_publ_edit_index
  1206. long linecolor = 16777215
  1207. integer linethickness = 4
  1208. integer beginx = -46
  1209. integer beginy = 176
  1210. integer endx = 1993
  1211. integer endy = 176
  1212. end type
  1213. type r_bar from rectangle within w_publ_edit_index
  1214. long linecolor = 16777215
  1215. integer linethickness = 4
  1216. long fillcolor = 1073741824
  1217. integer x = 2629
  1218. integer width = 146
  1219. integer height = 68
  1220. end type
  1221. event constructor;this.fillcolor = 14215660
  1222. this.linecolor = 14215660
  1223. this.x = -1
  1224. this.y = -1
  1225. this.height = ln_bar.beginy - 5
  1226. end event
  1227. type ln_1 from line within w_publ_edit_index
  1228. long linecolor = 268435456
  1229. integer linethickness = 4
  1230. integer beginy = 284
  1231. integer endx = 2016
  1232. integer endy = 284
  1233. end type
  1234. type ln_2 from line within w_publ_edit_index
  1235. long linecolor = 16777215
  1236. integer linethickness = 4
  1237. integer beginy = 288
  1238. integer endx = 2048
  1239. integer endy = 288
  1240. end type
  1241. type dw_index from u_dw_rbtnfilter within w_publ_edit_index
  1242. integer y = 292
  1243. integer width = 1362
  1244. integer height = 1372
  1245. integer taborder = 40
  1246. boolean bringtotop = true
  1247. boolean minbox = true
  1248. boolean hscrollbar = true
  1249. boolean vscrollbar = true
  1250. boolean hsplitscroll = true
  1251. end type
  1252. event clicked;call super::clicked;if row > 0 then
  1253. this.setrow(row)
  1254. if if_mlselect = 1 then
  1255. if if_changeselect then
  1256. this.selectrow(row,not this.isselected(row))
  1257. else
  1258. if_changeselect = true
  1259. end if
  1260. else
  1261. if dw_edit_mode then return
  1262. this.selectrow(0,false)
  1263. this.selectrow(row,true)
  1264. end if
  1265. end if
  1266. end event
  1267. event rowfocuschanged;call super::rowfocuschanged;if if_mlselect=1 then
  1268. if currentrow <=0 then return
  1269. if keydown(keycontrol!) then
  1270. if this.isselected(currentrow) then
  1271. this.selectrow(currentrow,false)
  1272. if_changeselect=false
  1273. else
  1274. if_changeselect=true
  1275. end if
  1276. else
  1277. if not this.isselected(currentrow) then
  1278. this.selectrow(currentrow,true)
  1279. if_changeselect=false
  1280. else
  1281. if_changeselect=true
  1282. end if
  1283. end if
  1284. else
  1285. if dw_edit_mode then return
  1286. if currentrow <=0 then return
  1287. this.selectrow(0,false)
  1288. this.selectrow(currentrow,true)
  1289. dw_uc.setrow(currentrow)
  1290. dw_uc.scrolltorow (currentrow)
  1291. end if
  1292. end event
  1293. event constructor;call super::constructor;titleclick_sort_use=true //单击标题排序功能开关
  1294. end event
  1295. event doubleclicked;call super::doubleclicked;IF mode=1 AND NOT dw_edit_mode THEN
  1296. cb_choice.TRIGGEREVENT(CLICKED!)
  1297. END IF
  1298. end event
  1299. event dwnkey;call super::dwnkey;if keydown(Keyenter!) and keydown(keycontrol!) then return 1
  1300. PARENT.POSTEVENT('USER_KEY')
  1301. end event