直接范例:CALL anmt460_set_combo_scc(‘nmck002′,’10’,’20’)
PRIVATE FUNCTION anmt460_set_combo_scc(p_field,p_scc1,p_scc2)
DEFINE p_field LIKE type_t.chr80
DEFINE p_scc1 LIKE type_t.chr5 #現金
DEFINE p_scc2 LIKE type_t.chr5 #銀行電匯款
DEFINE ps_values STRING
DEFINE ps_items STRING
DEFINE pc_ooia001 LIKE ooia_t.ooia001
DEFINE pc_ooial003 LIKE ooial_t.ooial003
DEFINE li_cnt LIKE type_t.num5
DEFINE ps_field_name STRING
DEFINE lcbo_target ui.ComboBox
DEFINE ls_temp STRING
DEFINE l_sql STRING
DEFINE pa_array DYNAMIC ARRAY OF RECORD
value STRING,
label_tag STRING,
label STRING
END RECORD
DEFINE l_cnt LIKE type_t.num10
IF cl_null(g_nmck_m.nmcksite) THEN
LET g_nmck_m.nmcksite = g_site
END IF
LET l_cnt = 0
LET l_sql = "SELECT ooia001, ooial003",
" FROM ooia_t LEFT JOIN ooial_t ON ooial001 = ooia001",
" AND ooial002 = '",g_lang,"'",
" AND ooiaent = ooialent",
" AND ooiaent = ",g_enterprise,
" WHERE ooiaent = ",g_enterprise,
" AND (ooia002 = '",p_scc1,"' OR ooia002 = '",p_scc2,"')"
PREPARE p_scc_itemp_pe FROM l_sql
DECLARE p_scc_itemp_cs CURSOR FOR p_scc_itemp_pe
LET ps_values = ''
LET ps_items = ''
#將選項填入陣列
LET li_cnt = 1
FOREACH p_scc_itemp_cs INTO pc_ooia001, pc_ooial003
SELECT COUNT(*) INTO l_cnt FROM ooie_t
WHERE ooieent = g_enterprise
AND ooie001 = pc_ooia001
AND ooiesite = g_nmck_m.nmcksite
IF l_cnt = 0 THEN
CONTINUE FOREACH
END IF
LET pa_array[li_cnt].value = pc_ooia001 CLIPPED
LET pa_array[li_cnt].label_tag = pc_ooia001 CLIPPED
LET pa_array[li_cnt].label = pc_ooial003 CLIPPED
LET li_cnt = li_cnt + 1
END FOREACH
LET ps_field_name = p_field
LET ps_field_name = ps_field_name.trim()
LET lcbo_target = ui.ComboBox.forName(ps_field_name)
#以下是Combobox的處理
FOR li_cnt = 1 TO pa_array.getLength()
IF cl_null(pa_array[li_cnt].label_tag) THEN
LET ls_temp = pa_array[li_cnt].label
ELSE
LET ls_temp = pa_array[li_cnt].label_tag,":",pa_array[li_cnt].label
END IF
CALL lcbo_target.addItem(pa_array[li_cnt].value,ls_temp)
END FOR
END FUNCTION
通过azzi650应用分类码设置combobox:
CALL cl_set_combo_acc(‘xmeoud002′,’9007’)
通过azzi600系统分类码设置:
CALL cl_set_combo_scc(‘xmeo001′,’3017’)
设置部分内容:
CALL cl_set_combo_scc_part(‘xmenstus’,’13’,’N,Y,A,D,R,W,X’)
来自 https://www.cnblogs.com/xiaoli9627/
转载请注明:赫非域 » T100——动态添加combobox项