w_xls_publ_edit_choice.srw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. $PBExportHeader$w_xls_publ_edit_choice.srw
  2. $PBExportComments$定义加选择窗口
  3. FORWARD
  4. GLOBAL TYPE w_xls_publ_edit_choice FROM w_xls_publ_base
  5. END TYPE
  6. TYPE r_bar FROM rectangle within w_xls_publ_edit_choice
  7. END TYPE
  8. TYPE cb_add FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  9. END TYPE
  10. TYPE cb_edit FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  11. END TYPE
  12. TYPE cb_delet FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  13. END TYPE
  14. TYPE cb_choice FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  15. END TYPE
  16. TYPE dw_uc FROM u_xls_dw_rbtnfilter within w_xls_publ_edit_choice
  17. END TYPE
  18. TYPE cb_view FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  19. END TYPE
  20. TYPE cb_help FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  21. END TYPE
  22. TYPE ln_bar FROM Line within w_xls_publ_edit_choice
  23. END TYPE
  24. TYPE ln_bar2 FROM Line within w_xls_publ_edit_choice
  25. END TYPE
  26. END FORWARD
  27. GLOBAL TYPE w_xls_publ_edit_choice FROM w_xls_publ_base
  28. Integer Width = 2085
  29. Integer Height = 1484
  30. String Title = "编缉"
  31. Boolean MinBox = FALSE
  32. WindowType WindowType = response!
  33. EVENT retrieve_uc ( )
  34. r_bar r_bar
  35. cb_add cb_add
  36. cb_edit cb_edit
  37. cb_delet cb_delet
  38. cb_choice cb_choice
  39. dw_uc dw_uc
  40. cb_view cb_view
  41. cb_help cb_help
  42. ln_bar ln_bar
  43. ln_bar2 ln_bar2
  44. END TYPE
  45. GLOBAL w_xls_publ_edit_choice w_xls_publ_edit_choice
  46. TYPE VARIABLES
  47. Boolean ls_update_flag = TRUE
  48. Long modifyrow_no = 0,crl_row //当前行记录
  49. s_xls_edit_tran para_obj //环境信息用于查询
  50. String keyword_string //关键字 未用
  51. Date first_date //查询开始日
  52. Date end_date //查询结束日,比表达日后一天
  53. Int child_column_int //明细dw锁定列数
  54. String ins_sqlerrtext
  55. END VARIABLES
  56. FORWARD PROTOTYPES
  57. PUBLIC FUNCTION Integer wf_face_change ()
  58. END PROTOTYPES
  59. EVENT retrieve_uc();
  60. dw_uc.Retrieve()
  61. END EVENT
  62. PUBLIC FUNCTION Integer wf_face_change ();
  63. IF dw_edit_mode THEN
  64. cb_func.Enabled = FALSE
  65. cb_choice.Enabled = FALSE
  66. cb_delet.Enabled = FALSE
  67. cb_view.Enabled = FALSE
  68. cb_edit.Text = "放弃&E"
  69. cb_add.Text = "保存&S"
  70. cb_edit.normalpicname = 'Undo.bmp'
  71. cb_add.normalpicname = 'Save.bmp'
  72. ELSE
  73. cb_func.Enabled = TRUE
  74. cb_delet.Enabled = TRUE
  75. cb_choice.Enabled = TRUE
  76. cb_view.Enabled = TRUE
  77. cb_edit.Text = "修改&E"
  78. cb_add.Text = "新建&S"
  79. cb_edit.normalpicname = 'OPEN.bmp'
  80. cb_add.normalpicname = 'new.bmp'
  81. END IF
  82. cb_edit.of_init_draw()
  83. cb_add.of_init_draw()
  84. cb_edit.of_paint()
  85. cb_add.of_paint()
  86. cb_add.TriggerEvent('ue_textchange')
  87. cb_edit.TriggerEvent('ue_textchange')
  88. RETURN 1
  89. END FUNCTION
  90. ON w_xls_publ_edit_choice.CREATE
  91. Int iCurrent
  92. CALL SUPER::CREATE
  93. THIS.r_bar = CREATE r_bar
  94. THIS.cb_add = CREATE cb_add
  95. THIS.cb_edit = CREATE cb_edit
  96. THIS.cb_delet = CREATE cb_delet
  97. THIS.cb_choice = CREATE cb_choice
  98. THIS.dw_uc = CREATE dw_uc
  99. THIS.cb_view = CREATE cb_view
  100. THIS.cb_help = CREATE cb_help
  101. THIS.ln_bar = CREATE ln_bar
  102. THIS.ln_bar2 = CREATE ln_bar2
  103. iCurrent = UpperBound(THIS.Control)
  104. THIS.Control[iCurrent+1] = THIS.r_bar
  105. THIS.Control[iCurrent+2] = THIS.cb_add
  106. THIS.Control[iCurrent+3] = THIS.cb_edit
  107. THIS.Control[iCurrent+4] = THIS.cb_delet
  108. THIS.Control[iCurrent+5] = THIS.cb_choice
  109. THIS.Control[iCurrent+6] = THIS.dw_uc
  110. THIS.Control[iCurrent+7] = THIS.cb_view
  111. THIS.Control[iCurrent+8] = THIS.cb_help
  112. THIS.Control[iCurrent+9] = THIS.ln_bar
  113. THIS.Control[iCurrent+10] = THIS.ln_bar2
  114. END ON
  115. ON w_xls_publ_edit_choice.DESTROY
  116. CALL SUPER::DESTROY
  117. Destroy(THIS.r_bar)
  118. Destroy(THIS.cb_add)
  119. Destroy(THIS.cb_edit)
  120. Destroy(THIS.cb_delet)
  121. Destroy(THIS.cb_choice)
  122. Destroy(THIS.dw_uc)
  123. Destroy(THIS.cb_view)
  124. Destroy(THIS.cb_help)
  125. Destroy(THIS.ln_bar)
  126. Destroy(THIS.ln_bar2)
  127. END ON
  128. EVENT ue_filter;
  129. CALL SUPER::ue_filter;
  130. //OpenWithParm(w_xls_filter_query,dw_uc)
  131. //String LS_EXPR
  132. //LS_EXPR = Message.StringParm
  133. //
  134. //IF Len(LS_EXPR) > 2 AND Trim(LS_EXPR) = '' THEN RETURN
  135. //
  136. //dw_uc.SetFilter(LS_EXPR)
  137. //
  138. //dw_uc.SetRedraw (FALSE)
  139. //dw_uc.Filter()
  140. //dw_uc.SetRedraw (TRUE)
  141. END EVENT
  142. EVENT CloseQuery;
  143. CALL SUPER::CloseQuery;
  144. IF dw_edit_mode THEN
  145. dw_uc.AcceptText()
  146. Int ls_row = 0
  147. ls_row = dw_uc.GetNextModified(0, Primary!)+&
  148. dw_uc.GetNextModified(0, Filter!)+dw_uc.DeletedCount()
  149. IF ls_row > 0 THEN
  150. IF MessageBox('是否保存','数据已经改变,是否先保存?',Question!,YesNo!,1 ) = 1 THEN
  151. RETURN 1
  152. END IF
  153. END IF
  154. END IF
  155. END EVENT
  156. EVENT OPEN;
  157. CALL SUPER::OPEN;
  158. dw_uc.SetTransObject (sqlca)
  159. THIS.TriggerEvent('retrieve_uc')
  160. END EVENT
  161. EVENT Resize;
  162. CALL SUPER::Resize;
  163. ln_bar.EndX = THIS.Width
  164. ln_bar2.EndX = THIS.Width
  165. r_bar.Width = THIS.Width
  166. END EVENT
  167. EVENT ue_before_open;
  168. CALL SUPER::ue_before_open;
  169. if_ue_filter = TRUE
  170. //if_ue_sort = TRUE
  171. if_ue_sentdataout = TRUE
  172. END EVENT
  173. EVENT ue_sort;
  174. //CALL SUPER::ue_sort;
  175. //OpenWithParm(w_xls_sortrow,dw_uc)
  176. //String LS_EXPR
  177. //LS_EXPR = Message.StringParm
  178. //IF IsNull(LS_EXPR) THEN LS_EXPR = ' '
  179. //IF Len(LS_EXPR) > 2 AND Trim(LS_EXPR) = '' THEN RETURN
  180. //
  181. //dw_uc.SetSort(LS_EXPR)
  182. //
  183. //dw_uc.SetRedraw (FALSE)
  184. //dw_uc.Sort()
  185. //dw_uc.SetRedraw (TRUE)
  186. END EVENT
  187. EVENT ue_sentdataout;
  188. CALL SUPER::ue_sentdataout;
  189. //OPENWITHPARM(w_xls_sentdataout,dw_uc)
  190. END EVENT
  191. EVENT Key;
  192. CALL SUPER::Key;
  193. IF KeyDown(KeyF1!) THEN
  194. cb_help.TriggerEvent(Clicked!)
  195. END IF
  196. END EVENT
  197. TYPE cb_func FROM w_xls_publ_base`cb_func within w_xls_publ_edit_choice
  198. Integer X = 549
  199. Integer Width = 165
  200. Integer Height = 172
  201. String normalpicname = "setting.bmp"
  202. Integer picsize = 16
  203. ToolbarAlignment pic_align = alignattop!
  204. Boolean Border = FALSE
  205. END TYPE
  206. TYPE cb_exit FROM w_xls_publ_base`cb_exit within w_xls_publ_edit_choice
  207. Integer X = 1234
  208. Integer Width = 165
  209. Integer Height = 172
  210. Integer picsize = 16
  211. ToolbarAlignment pic_align = alignattop!
  212. Boolean Border = FALSE
  213. END TYPE
  214. TYPE r_bar FROM rectangle within w_xls_publ_edit_choice
  215. Long LineColor = 16777215
  216. Long FillColor = 1073741824
  217. Integer X = 1518
  218. Integer Width = 73
  219. Integer Height = 172
  220. END TYPE
  221. EVENT Constructor;
  222. THIS.FillColor = 14215660
  223. THIS.LineColor = 14215660
  224. THIS.X = -1
  225. THIS.Y = -1
  226. THIS.Height = ln_bar2.BeginY - 5
  227. END EVENT
  228. TYPE cb_add FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  229. String Tag = "新建/保存[Alt+S]"
  230. Integer Width = 192
  231. Integer Height = 172
  232. Integer TabOrder = 20
  233. Boolean BringToTop = TRUE
  234. String Text = "新建&S"
  235. String normalpicname = "new.bmp"
  236. Integer picsize = 16
  237. ToolbarAlignment pic_align = alignattop!
  238. Boolean Border = FALSE
  239. END TYPE
  240. EVENT Clicked;
  241. CALL SUPER::Clicked;
  242. //long ll_newid,i
  243. //string errmsg
  244. //IF dw_edit_mode THEN
  245. // dw_uc.accepttext()
  246. // if dw_uc.GetNextModified(0, Primary!)=0 then
  247. // MESSAGEBOX('','没有任何修改,不可以保存!')
  248. // RETURN
  249. // end if
  250. // DW_UC.OBJECT.departmentname[DW_UC.GETROW()]=TRIM(DW_UC.OBJECT.departmentname[DW_UC.GETROW()])
  251. //
  252. //
  253. // IF DW_UC.OBJECT.departmentname[DW_UC.GETROW()]='' THEN
  254. // MESSAGEBOX('','请输入部门资料名称!')
  255. // RETURN
  256. // END IF
  257. //
  258. // if dw_uc.object.departmentid[dw_uc.getrow()]=0 then
  259. // ll_newid=f_sys_scidentity(0,"cw_department","departmentid",errmsg,false)
  260. // if ll_newid<=0 then
  261. // messagebox('',errmsg)
  262. // return
  263. // else
  264. // dw_uc.object.departmentid[DW_UC.GETROW()]=ll_newid
  265. // end if
  266. // end if
  267. //end if
  268. //
  269. //
  270. //
  271. //IF dw_edit_mode THEN
  272. // string ls_errmsg
  273. // if dw_UC.Update() = -1 then
  274. // if pos(ins_sqlerrtext,"Cannot insert duplicate key row")>0 then
  275. // ls_errmsg="关键内容重复"
  276. // else
  277. // ls_errmsg="因为网络或其他原因>"+ins_sqlerrtext
  278. // end if
  279. // rollback;
  280. // MessageBox ('',ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  281. // LS_UPDATE_FLAG=FALSE
  282. // RETURN
  283. // else
  284. // commit;
  285. // for i=1 to 3
  286. // dw_UC.SetTabOrder ( i, 0 )
  287. // next
  288. // LS_UPDATE_FLAG=TRUE
  289. // end if
  290. // ins_sqlerrtext=""
  291. //ELSE
  292. // long li_row, li_cur_row
  293. // li_cur_row = dw_UC.GetRow()
  294. // li_row = dw_UC.InsertRow (0)
  295. // for i=1 to 3
  296. // dw_UC.SetTabOrder ( i, i*10 )
  297. // next
  298. // dw_uc.selectrow(0,false)
  299. // dw_UC.ScrollToRow (li_row)
  300. // dw_uc.selectrow(li_row,true)
  301. // dw_UC.SetFocus()
  302. // modifyrow_no= li_row
  303. //END IF
  304. //
  305. //dw_edit_mode= NOT dw_edit_mode
  306. //WF_FACE_CHANGE()
  307. //
  308. END EVENT
  309. TYPE cb_edit FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  310. String Tag = "修改/放弃[Alt+E]"
  311. Integer X = 192
  312. Integer Width = 192
  313. Integer Height = 172
  314. Integer TabOrder = 30
  315. Boolean BringToTop = TRUE
  316. String Text = "修改&E"
  317. String normalpicname = "open.bmp"
  318. Integer picsize = 16
  319. ToolbarAlignment pic_align = alignattop!
  320. Boolean Border = FALSE
  321. END TYPE
  322. EVENT Clicked;
  323. CALL SUPER::Clicked;
  324. //long i
  325. //IF dw_edit_mode THEN
  326. // if dw_uc.GetItemStatus(dw_UC.getrow(), 0, Primary!)=NewModified! or dw_uc.GetItemStatus(dw_UC.getrow(), 0, Primary!)=New! then
  327. // dw_UC.deleterow(dw_UC.getrow())
  328. // else
  329. // dw_UC.ReselectRow(dw_UC.getrow())
  330. // end if
  331. // for i=1 to 3
  332. // dw_UC.SetTabOrder ( i, 0 )
  333. // next
  334. // modifyrow_no = 0
  335. //ELSE
  336. // modifyrow_no = dw_UC.getrow()
  337. // for i=1 to 3
  338. // dw_UC.SetTabOrder ( i, i*10 )
  339. // next
  340. // dw_UC.SetFocus()
  341. //
  342. // dw_UC.selectrow(0,false)
  343. // dw_UC.ScrollToRow (modifyrow_no)
  344. // dw_uc.selectrow(modifyrow_no,true)
  345. //
  346. //END IF
  347. //
  348. //dw_edit_mode= NOT dw_edit_mode
  349. //WF_FACE_CHANGE()
  350. END EVENT
  351. TYPE cb_delet FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  352. Integer X = 384
  353. Integer Width = 165
  354. Integer Height = 172
  355. Integer TabOrder = 40
  356. Boolean BringToTop = TRUE
  357. String Text = "删除"
  358. String normalpicname = "delete.bmp"
  359. Integer picsize = 16
  360. ToolbarAlignment pic_align = alignattop!
  361. Boolean Border = FALSE
  362. END TYPE
  363. EVENT Clicked;
  364. CALL SUPER::Clicked;
  365. //IF MessageBox ('',"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  366. //RETURN
  367. //END IF
  368. //
  369. //long LS_id
  370. //LONG LS_LONG=0
  371. //string ls_code,arg_msg
  372. //IF DW_UC.GETROW()<=0 THEN
  373. // MESSAGEBOX('','没有操作目标记录!')
  374. // RETURN
  375. //END IF
  376. //LS_id=DW_UC.OBJECT.departmentid[DW_UC.GETROW()]
  377. //select COUNT(*) into :LS_LONG from u_rs_empinfo
  378. // where u_rs_empinfo.deptid=:LS_id ;
  379. //if SQLCA.SQLCode<>0 then
  380. // MessageBox ('',"数据查询操作失败!(请重试!)",Exclamation!,OK!)
  381. // return
  382. //end if
  383. //IF LS_LONG>0 THEN
  384. // MessageBox ('',"该资料已经使用于人事资料,不可以删除!",Exclamation!,OK!)
  385. // RETURN
  386. //END IF
  387. //
  388. //LS_LONG=0
  389. //select COUNT(*) into :LS_LONG from u_sc_workgroup
  390. // where u_sc_workgroup.deptid=:LS_id ;
  391. //if SQLCA.SQLCode<>0 then
  392. // MessageBox ('系统提示',"数据查询操作失败!(请重试!)",Exclamation!,OK!)
  393. // return
  394. //end if
  395. //IF LS_LONG>0 THEN
  396. // MessageBox ('系统提示',"该资料已经使用于工组设定中,不可以删除!",Exclamation!,OK!)
  397. // RETURN
  398. //END IF
  399. //
  400. //dw_uc.SetRedraw (false)
  401. //dw_UC.DeleteRow (0)
  402. //dw_UC.TriggerEvent (rowfocuschanged!)
  403. //
  404. //if dw_UC.Update() = -1 then
  405. // rollback;
  406. // MessageBox ('系统提示',"删除记录操作失败!",Exclamation!,OK!)
  407. //else
  408. // commit;
  409. //end if
  410. //dw_uc.SetRedraw (true)
  411. END EVENT
  412. TYPE cb_choice FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  413. Integer X = 1070
  414. Integer Width = 165
  415. Integer Height = 172
  416. Integer TabOrder = 50
  417. Boolean BringToTop = TRUE
  418. String Text = "选定"
  419. String normalpicname = "find2.BMP"
  420. Integer picsize = 16
  421. ToolbarAlignment pic_align = alignattop!
  422. Boolean Border = FALSE
  423. END TYPE
  424. TYPE dw_uc FROM u_xls_dw_rbtnfilter within w_xls_publ_edit_choice
  425. Integer Y = 188
  426. Integer Width = 2002
  427. Integer Height = 1116
  428. Integer TabOrder = 20
  429. Boolean BringToTop = TRUE
  430. Boolean VScrollBar = TRUE
  431. END TYPE
  432. EVENT DBError;
  433. CALL SUPER::DBError;
  434. ins_sqlerrtext = SQLErrText
  435. RETURN 1
  436. END EVENT
  437. EVENT RowFocusChanged;
  438. CALL SUPER::RowFocusChanged;
  439. IF modifyrow_no > 0 AND dw_edit_mode THEN
  440. THIS.SetRow(modifyrow_no)
  441. THIS.ScrollToRow(modifyrow_no)
  442. ELSE
  443. THIS.SelectRow(0,FALSE)
  444. THIS.SelectRow(currentrow,TRUE)
  445. END IF
  446. END EVENT
  447. EVENT rowfocuschanging;
  448. CALL SUPER::rowfocuschanging;
  449. IF dw_edit_mode THEN RETURN 1
  450. END EVENT
  451. EVENT Constructor;
  452. CALL SUPER::Constructor;
  453. titleclick_sort_use = TRUE //单击标题排序-功能开关
  454. RBUTTON_FILTER_USE = TRUE //右键查询-功能开关
  455. setcolumn_visible_USE = TRUE //自动保存显示列-功能开关
  456. autosave_setlayout_USE = TRUE //自动保存列位置及宽度-功能开关
  457. END EVENT
  458. TYPE cb_view FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  459. String Tag = "预览[Alt+P]"
  460. Integer X = 878
  461. Integer Width = 192
  462. Integer Height = 172
  463. Integer TabOrder = 40
  464. Boolean BringToTop = TRUE
  465. String Text = "预览&P"
  466. String normalpicname = "PREVIEW.BMP"
  467. Integer picsize = 16
  468. ToolbarAlignment pic_align = alignattop!
  469. Boolean Border = FALSE
  470. END TYPE
  471. EVENT Clicked;
  472. CALL SUPER::Clicked;
  473. //S_print_MSG LS_PRMSG
  474. //
  475. //LS_PRMSG.obj_dwNAME = 'dwrp_zl_lsdzl'
  476. //LS_PRMSG.SHARE_DW = DW_UC
  477. //LS_PRMSG.TAG_TEXT = parent.title
  478. //LS_PRMSG.SETUP_FLAG = 0
  479. //LS_PRMSG.PAGECH_FLAG = 1
  480. //
  481. //OpenWithParm(w_publ_preview,LS_PRMSG)
  482. //
  483. //
  484. //
  485. END EVENT
  486. TYPE cb_help FROM uo_xls_imflatbutton within w_xls_publ_edit_choice
  487. String Tag = "帮助[F1]"
  488. Integer X = 713
  489. Integer Width = 165
  490. Integer Height = 172
  491. Integer TabOrder = 40
  492. Boolean BringToTop = TRUE
  493. String Text = "帮助"
  494. String normalpicname = "help.bmp"
  495. Integer picsize = 16
  496. ToolbarAlignment pic_align = alignattop!
  497. Boolean Border = FALSE
  498. END TYPE
  499. EVENT Clicked;
  500. CALL SUPER::Clicked;
  501. PARENT.TriggerEvent("ue_help")
  502. END EVENT
  503. TYPE ln_bar FROM Line within w_xls_publ_edit_choice
  504. Long LineColor = 268435456
  505. Integer LineThickness = 4
  506. Integer BeginY = 176
  507. Integer EndX = 2002
  508. Integer EndY = 176
  509. END TYPE
  510. TYPE ln_bar2 FROM Line within w_xls_publ_edit_choice
  511. Long LineColor = 16777215
  512. Integer LineThickness = 4
  513. Integer BeginY = 180
  514. Integer EndX = 2002
  515. Integer EndY = 180
  516. END TYPE