最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

T100——动态添加combobox项

后端代码 bron1984 2417浏览

直接范例: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项