uo_ddlb_moneyid.sru 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. $PBExportHeader$uo_ddlb_moneyid.sru
  2. forward
  3. global type uo_ddlb_moneyid from dropdownlistbox
  4. end type
  5. end forward
  6. global type uo_ddlb_moneyid from dropdownlistbox
  7. integer width = 471
  8. integer height = 368
  9. integer taborder = 10
  10. integer textsize = -9
  11. integer weight = 400
  12. fontcharset fontcharset = gb2312charset!
  13. fontpitch fontpitch = variable!
  14. string facename = "宋体"
  15. long textcolor = 33554432
  16. boolean sorted = false
  17. boolean vscrollbar = true
  18. borderstyle borderstyle = stylelowered!
  19. end type
  20. global uo_ddlb_moneyid uo_ddlb_moneyid
  21. type variables
  22. long uo_moneyid
  23. end variables
  24. event constructor;Long ll_moneyid, ll_moneyid_save, ll_moneyid_get
  25. long cnt
  26. String ls_name, ls_name_get
  27. String ls_space
  28. Int li_spacenum
  29. Boolean lb_getdft = FALSE
  30. ll_moneyid_save = Long(f_ProfileString (sys_empid,String(PARENT.ClassName()), "moneyid",'0'))
  31. SELECT count(*) INTO :cnt FROM cw_currency ;
  32. IF cnt > 1 THEN
  33. THIS.AddItem ('[全部]')
  34. END IF
  35. DECLARE getmx CURSOR FOR
  36. SELECT moneyid,Name FROM cw_currency Order By moneyid ;
  37. OPEN getmx;
  38. DO WHILE sqlca.SQLCode = 0
  39. FETCH getmx INTO :ll_moneyid,:ls_name ;
  40. IF sqlca.SQLCode <> 0 THEN EXIT
  41. li_spacenum = 50 - Len(Trim(ls_name)) - 2 - Len(String(ll_moneyid))
  42. ls_space = Fill(' ',li_spacenum)
  43. THIS.AddItem (ls_name+ls_space+'['+String(ll_moneyid)+']')
  44. IF NOT lb_getdft THEN
  45. ll_moneyid_get = ll_moneyid
  46. ls_name_get = ls_name
  47. END IF
  48. IF ll_moneyid_save = ll_moneyid THEN
  49. lb_getdft = TRUE
  50. ll_moneyid_get = ll_moneyid
  51. ls_name_get = ls_name
  52. END IF
  53. LOOP
  54. CLOSE getmx;
  55. if ll_moneyid_save = -1 then
  56. THIS.Text = '[全部]'
  57. THIS.uo_moneyid = -1
  58. else
  59. li_spacenum = 50 - Len(Trim(ls_name_get)) - 2 - Len(String(ll_moneyid_get))
  60. ls_space = Fill(' ',li_spacenum)
  61. THIS.Text = ls_name_get+ls_space+'['+String(ll_moneyid_get)+']'
  62. THIS.uo_moneyid = ll_moneyid_get
  63. end if
  64. //THIS.AddItem('全部'+Fill(' ',50)+'['+String(-1)+']')
  65. end event
  66. event selectionchanged;IF THIS.Text = '[全部]' THEN
  67. uo_moneyid = -1
  68. ELSE
  69. uo_moneyid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 ))
  70. END IF
  71. end event
  72. on uo_ddlb_moneyid.create
  73. end on
  74. on uo_ddlb_moneyid.destroy
  75. end on
  76. event destructor;f_SetProfileString(sys_empid, String(parent.ClassName()), "moneyid", string(uo_moneyid))
  77. end event