uo_ddlb_storageid.sru 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. $PBExportHeader$uo_ddlb_storageid.sru
  2. forward
  3. global type uo_ddlb_storageid from dropdownlistbox
  4. end type
  5. end forward
  6. global type uo_ddlb_storageid from dropdownlistbox
  7. integer width = 686
  8. integer height = 580
  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_storageid uo_ddlb_storageid
  21. type variables
  22. long uo_storageid
  23. long uo_storageid_arr[]
  24. string LS_storage_ter
  25. end variables
  26. forward prototypes
  27. public function integer uf_get_storageid_arr (long arg_mode)
  28. end prototypes
  29. public function integer uf_get_storageid_arr (long arg_mode);long rslt = 1
  30. long ls_i
  31. LS_storage_ter =''
  32. if arg_mode = -1 then
  33. for ls_i = 1 to UpperBound(uo_storageid_arr) - 1
  34. LS_storage_ter = LS_storage_ter+"u_mtrldef.storagestr like '%,"+string(uo_storageid_arr[ls_i])+",%' or "
  35. next
  36. LS_storage_ter = LS_storage_ter+"u_mtrldef.storagestr like '%,"+string(uo_storageid_arr[UpperBound(uo_storageid_arr)])+",%'"
  37. else
  38. LS_storage_ter = "u_mtrldef.storagestr like '%,"+string(uo_storageid_arr[1])+",%'"
  39. end if
  40. return rslt
  41. end function
  42. event constructor;Long ls_storageid, ls_storageid_save, ls_storageid_get
  43. String ls_storagename, ls_storagename_get
  44. Long cnt = 0
  45. Long ll_i
  46. String ls_space
  47. Int li_spacenum
  48. Boolean lb_getdft = FALSE
  49. datastore ds_ddlb
  50. ds_ddlb = create datastore
  51. ds_ddlb.dataobject = 'ds_uo_ddlb_storageid'
  52. ds_ddlb.settransobject(sqlca)
  53. ds_ddlb.retrieve(sys_user_storageid)
  54. ls_storageid_save = Long(f_ProfileString (sys_empid,String(PARENT.ClassName()), "storageid",'0'))
  55. SELECT count(*) INTO :cnt FROM u_storage Where inuse = 1 ;
  56. IF cnt > 1 THEN
  57. THIS.AddItem ('[全部]')
  58. END IF
  59. FOR ll_i = 1 TO ds_ddlb.rowcount()
  60. ls_storageid = ds_ddlb.object.storageid[ll_i]
  61. ls_storagename = ds_ddlb.object.storagename[ll_i]
  62. li_spacenum = 50 - Len(Trim(ls_storagename)) - 2 - Len(String(ls_storageid))
  63. ls_space = Fill(' ',li_spacenum)
  64. THIS.AddItem (ls_storagename+ls_space+'['+String(ls_storageid)+']')
  65. IF NOT lb_getdft THEN
  66. ls_storageid_get = ls_storageid
  67. ls_storagename_get = ls_storagename
  68. END IF
  69. IF ls_storageid_save = ls_storageid THEN
  70. lb_getdft = TRUE
  71. ls_storageid_get = ls_storageid
  72. ls_storagename_get = ls_storagename
  73. END IF
  74. NEXT
  75. //FOR ll_i = 1 TO UpperBound(sys_user_storageid)
  76. // ls_storageid = sys_user_storageid[ll_i]
  77. // SELECT storagename
  78. // INTO :ls_storagename
  79. // FROM u_storage
  80. // Where storageid = :ls_storageid;
  81. // IF sqlca.SQLCode <> 0 OR IsNull(ls_storagename) THEN ls_storagename = ''
  82. //
  83. // li_spacenum = 50 - Len(Trim(ls_storagename)) - 2 - Len(String(ls_storageid))
  84. // ls_space = Fill(' ',li_spacenum)
  85. //
  86. // THIS.AddItem (ls_storagename+ls_space+'['+String(ls_storageid)+']')
  87. //
  88. // IF NOT lb_getdft THEN
  89. // ls_storageid_get = ls_storageid
  90. // ls_storagename_get = ls_storagename
  91. // END IF
  92. //
  93. // IF ls_storageid_save = ls_storageid THEN
  94. // lb_getdft = TRUE
  95. // ls_storageid_get = ls_storageid
  96. // ls_storagename_get = ls_storagename
  97. // END IF
  98. //
  99. //NEXT
  100. //THIS.uo_storageid = ls_storageid
  101. //uo_storageid_arr[1] = ls_storageid
  102. //THIS.Text = ls_storagename+ls_space+'['+String(ls_storageid)+']'
  103. //
  104. IF ls_storageid_save = -1 THEN
  105. THIS.Text = '[全部]'
  106. THIS.uo_storageid = -1
  107. THIS.uo_storageid_arr = sys_user_storageid
  108. ELSE
  109. li_spacenum = 50 - Len(Trim(ls_storagename_get)) - 2 - Len(String(ls_storageid_get))
  110. ls_space = Fill(' ',li_spacenum)
  111. THIS.Text = ls_storagename_get+ls_space+'['+String(ls_storageid_get)+']'
  112. THIS.uo_storageid = ls_storageid_get
  113. THIS.uo_storageid_arr[1] = ls_storageid_get
  114. END IF
  115. uf_get_storageid_arr(ls_storageid_get)
  116. end event
  117. event selectionchanged;Long ll_storageid_arr[]
  118. IF THIS.Text = '[全部]' THEN
  119. uo_storageid = -1
  120. ll_storageid_arr = sys_user_storageid
  121. uo_storageid_arr = ll_storageid_arr
  122. ELSE
  123. uo_storageid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 ))
  124. ll_storageid_arr[1] = uo_storageid
  125. uo_storageid_arr = ll_storageid_arr
  126. END IF
  127. uf_get_storageid_arr(uo_storageid)
  128. end event
  129. on uo_ddlb_storageid.create
  130. end on
  131. on uo_ddlb_storageid.destroy
  132. end on
  133. event destructor;f_SetProfileString(sys_empid, String(parent.ClassName()), "storageid", string(uo_storageid))
  134. //SetProfileString(SYS_INIFILENAME, publ_userid+'_'+String(parent.ClassName()), "storagename", trim(mid(this.text,1,pos(this.text,' ') - 1)))
  135. end event