范例(axmt500):

目的,控制新增的栏位(价格清单2),需点击菜单栏“修改价格清单2”才能对相应的栏位进行编辑修改,并记录修改人、日期;

1)在规格上增加新ACTION——action_modify_xmdaua012,修改价格清单2;并在azzi903上把ACTION添加到菜单栏;

2)在单头栏位开启设定中【 axmt500_set_entry(p_cmd)】对“价格清单2”栏位进行关闭,不允许编辑:

CALL cl_set_comp_entry("xmdaua012",FALSE) # by ljr

3)在单头栏位关闭设定中【 axmt500_set_no_entry(p_cmd)】对“价格清单2”栏位进行关闭, 不允许编辑:

 CALL cl_set_comp_entry("xmdaua012",FALSE) # by ljr

4)在ui_dialog中,ON ACTION action_modify_xmdaua012 下编辑程序:

         #應用 a43 樣板自動產生(Version:)
ON ACTION action_modify_xmdaua012
LET g_action_choice="action_modify_xmdaua012"
IF cl_auth_chk_act("action_modify_xmdaua012") THEN #add-point:ON ACTION action_modify_xmdaua012 name="menu.action_modify_xmdaua012"
# by ljr s DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
INPUT g_xmda_m.xmdaua012 FROM xmdaua012 ATTRIBUTES(WITHOUT DEFAULTS) ON ACTION controlp INFIELD xmdaua012
INITIALIZE g_qryparam.* TO NULL
LET g_qryparam.state = 'i'
LET g_qryparam.reqry = FALSE
CALL cq_xmdtdoocno() #呼叫開窗
#DISPLAY g_qryparam.return1 TO xmdaua012 #顯示到畫面上
LET g_xmda_m.xmdaua012 = g_qryparam.return1
DISPLAY BY NAME g_xmda_m.xmdaua012 SELECT xmdtua001 INTO g_xmda_m.xmdaua012_desc FROM xmdt_t
WHERE xmdtdocno=g_xmda_m.xmdaua012
DISPLAY BY NAME g_xmda_m.xmdaua012_desc NEXT FIELD xmdaua012 #返回原欄位 END INPUT BEFORE DIALOG
CALL cl_set_comp_entry("xmdaua012",TRUE)
#重新導回資料到正確位置上
CALL DIALOG.setCurrentRow("s_detail1",g_idx_group.getValue("'1','2',"))
CALL DIALOG.setCurrentRow("s_detail2",g_idx_group.getValue("'3',"))
CALL DIALOG.setCurrentRow("s_detail3",g_idx_group.getValue("'4',"))
CALL DIALOG.setCurrentRow("s_detail4",g_idx_group.getValue("'5',"))
CALL DIALOG.setCurrentRow("s_detail5",g_idx_group.getValue("'6',"))
CALL DIALOG.setCurrentRow("s_detail6",g_idx_group.getValue("")) ON ACTION controlf
CALL cl_set_focus_form(ui.Interface.getRootNode()) RETURNING g_fld_name,g_frm_name
CALL cl_fldhelp(g_frm_name,g_fld_name,g_lang) ON ACTION controlr
CALL cl_show_req_fields() ON ACTION controls
IF g_header_hidden THEN
CALL gfrm_curr.setElementHidden("vb_master",)
CALL gfrm_curr.setElementImage("controls","small/arr-u.png")
LET g_header_hidden = #visible
ELSE
CALL gfrm_curr.setElementHidden("vb_master",)
CALL gfrm_curr.setElementImage("controls","small/arr-d.png")
LET g_header_hidden = #hidden
END IF ON ACTION accept
IF NOT cl_null(g_xmda_m.xmdaua012) THEN
INITIALIZE g_chkparam.* TO NULL
LET g_chkparam.arg1 = g_xmda_m.xmdaua012
IF cl_chk_exist("cv_xmdtdocno") THEN
LET g_xmda_m.xmdaua013 = g_user
LET g_xmda_m.xmdaua014 = cl_get_current()
UPDATE xmda_t SET xmdaua012=g_xmda_m.xmdaua012,
xmdaua013=g_xmda_m.xmdaua013,
xmdaua014=g_xmda_m.xmdaua014
WHERE xmdaent=g_enterprise AND xmdasite=g_site AND xmdadocno=g_xmda_m.xmdadocno
DISPLAY BY NAME g_xmda_m.xmdaua013,g_xmda_m.xmdaua014
SELECT ooag011 INTO g_xmda_m.xmdaua013_desc FROM ooag_t WHERE ooag001=g_xmda_m.xmdaua013
DISPLAY BY NAME g_xmda_m.xmdaua013_desc
END IF
END IF ACCEPT DIALOG ON ACTION cancel #在dialog button (放棄)
#add-point:input段cancel name="input.cancel" #end add-point
LET INT_FLAG = TRUE
LET g_detail_idx =
LET g_detail_idx2 =
#各個page指標
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] = CALL g_curr_diag.setCurrentRow("s_detail1",)
CALL g_curr_diag.setCurrentRow("s_detail2",)
CALL g_curr_diag.setCurrentRow("s_detail3",)
CALL g_curr_diag.setCurrentRow("s_detail4",)
CALL g_curr_diag.setCurrentRow("s_detail5",)
CALL g_curr_diag.setCurrentRow("s_detail6",) EXIT DIALOG ON ACTION close #在dialog 右上角 (X)
#add-point:input段close name="input.close" #end add-point
LET INT_FLAG = TRUE
EXIT DIALOG ON ACTION exit #toolbar 離開
#add-point:input段exit name="input.exit" #end add-point
LET INT_FLAG = TRUE
LET g_detail_idx =
LET g_detail_idx2 =
#各個page指標
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] =
LET g_detail_idx_list[] = CALL g_curr_diag.setCurrentRow("s_detail1",)
CALL g_curr_diag.setCurrentRow("s_detail2",)
CALL g_curr_diag.setCurrentRow("s_detail3",)
CALL g_curr_diag.setCurrentRow("s_detail4",)
CALL g_curr_diag.setCurrentRow("s_detail5",)
CALL g_curr_diag.setCurrentRow("s_detail6",) EXIT DIALOG #交談指令共用ACTION
&include "common_action.4gl"
CONTINUE DIALOG
END DIALOG
# by ljr e
#END add-point END IF

这DIALOG段落内容可参考axmt500_input 下的axmt500.input.other 段落;

菜单ACTION控制栏位字段编辑,点击菜单ACTION才能编辑指定的栏位的更多相关文章

  1. 菜单和按钮-EasyUI Menu 菜单、EasyUI Linkbutton 链接按钮、EasyUI Menubutton 菜单按钮、EasyUI Splitbutton 分割按钮

    EasyUI Menu 菜单 通过 $.fn.menu.defaults 重写默认的 defaults. 菜单(Menu)通常用于上下文菜单.它是创建其他菜单组件(比如:menubutton.spli ...

  2. T100——菜单action控制单身栏位的修改

    通过菜单ACTION来控制单身栏位内容的编辑修改: 范例axmt500: DEFINE l_xmdcua012_bk DYNAMIC ARRAY OF RECORD # ljr xmdcua012 L ...

  3. JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示

    一.(一)中的代码还可以修改的地方. 在(一)中,如果是运行在服务器下,如apache等,可以把head和navigation的div抽取出来,放置在另一个html文件里,然后在页面中,include ...

  4. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形菜单拖放控制

    jQuery EasyUI 树形菜单 - 树形菜单拖放控制 当在一个应用中使用树(Tree)插件,拖拽(drag)和放置(drop)功能要求允许用户改变节点位置.启用拖拽(drag)和放置(drop) ...

  5. C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用心得

    在网上查了很多,发现没有讲述关于--C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用--的资料 自己研究了一个使用方法.下面来看看. 我有两个窗体:LOGINFRM,M ...

  6. (C)位字段(bit-field)

    位字段(bit-field) 在存储空间很宝贵的情况下,有可能需要将多个对象保存在一个机器字中,一种常用的方法是:使用类似于编译器符号表的单个二进制位标志集合,外部强加的数据格式(如设备接口等寄存器) ...

  7. 让你的Blend“编辑其他模板”菜单里出现你的Style

    原文:让你的Blend"编辑其他模板"菜单里出现你的Style 如图.. 昨天在做控件的时候遇到了一个新的要求,让美工可以在Blend里直接编辑自定义控件里子内容的模板.于是乎疯狂 ...

  8. union, enum, and struct, 以及结构填充和位字段实现。

    Table 4-9 Compiler storage of data objects by byte alignment Type Bytes Alignment char, bool, _Bool ...

  9. 20140321 sizeof 虚函数与虚函数表 静态数组空间 动态数组空间 位字段

    1.静态的数组空间char a[10];sizeof 不能用于1:函数类型 2:动态的数组空间new3:位字段 函数类型:int fun();sizeof(fun())计算的是返回类型的大小,并不是函 ...

随机推荐

  1. Spring Cloud Eureka(三):认识Eureka Server 与 Eureka Client

    Spring Cloud Netflix 是什么 This project provides Netflix OSS integrations for Spring Boot apps through ...

  2. Linux 常用命令安装

    系统版本: Centos-7-x86_64-minimal 1. 网络相关 1.1 MTR 跟踪路由,还可以测试丢包率.网络延迟 yum -y  install  mtr 2. 文件相关 2.1 sz ...

  3. Remote Ubuntu VM from Windows

    Need to install the xrdp tool on Ubuntu. To do this, open a Terminal window (Ctrl + Alt + T) and ent ...

  4. python——装饰器(不定长参数,闭包,装饰器)示例

    def func(functionName): print("正在装饰") def func_in(*args, **kargs): print("------func_ ...

  5. 1.2 位于Shell脚本第一行的#!

    学习<shell脚本学习指南>一书,记录总结,便于自己回忆,希望对你有帮助! 2.4 自给自足的脚本:位于第一行的 #! 1.Shell脚本执行过程 当Shell执行一个程序时,会要求UN ...

  6. linux下如何更新当前的容器镜像?

    docker commit <container_id> <container_image_name>

  7. 使用注解实现Spring的声明式事务管理

    使用注解实现Spring的声明式事务管理,更加简单! 步骤: 1) 必须引入Aop相关的jar文件 2) bean.xml中指定注解方式实现声明式事务管理以及应用的事务管理器类 3)在需要添加事务控制 ...

  8. handler定义

    Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用.比如可以用handler发送一个message,然后在handler的线程中来接收.处理该消息,以避免直 ...

  9. OriginPro 9.1 科研图标绘制入门

    OriginPro 9.1 科研图标绘制入门 目的:1.介绍如何不用编程画出复杂多样的图表2.介绍OriginLab 常用功能3.科研报告时,有效绘图,省却时间 科研发展需求.反映专业形象.满足公司要 ...

  10. WPF下如何去除WebBrowser的滚动条和捕获关闭事件

    方法一:适用于VS2008 1.在解决方案中添加“引用”     选择 COM 下的 Microsoft html object library 2.引入命名空间     using mshtml; ...