菜单ACTION控制栏位字段编辑,点击菜单ACTION才能编辑指定的栏位
范例(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才能编辑指定的栏位的更多相关文章
- 菜单和按钮-EasyUI Menu 菜单、EasyUI Linkbutton 链接按钮、EasyUI Menubutton 菜单按钮、EasyUI Splitbutton 分割按钮
EasyUI Menu 菜单 通过 $.fn.menu.defaults 重写默认的 defaults. 菜单(Menu)通常用于上下文菜单.它是创建其他菜单组件(比如:menubutton.spli ...
- T100——菜单action控制单身栏位的修改
通过菜单ACTION来控制单身栏位内容的编辑修改: 范例axmt500: DEFINE l_xmdcua012_bk DYNAMIC ARRAY OF RECORD # ljr xmdcua012 L ...
- JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示
一.(一)中的代码还可以修改的地方. 在(一)中,如果是运行在服务器下,如apache等,可以把head和navigation的div抽取出来,放置在另一个html文件里,然后在页面中,include ...
- 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形菜单拖放控制
jQuery EasyUI 树形菜单 - 树形菜单拖放控制 当在一个应用中使用树(Tree)插件,拖拽(drag)和放置(drop)功能要求允许用户改变节点位置.启用拖拽(drag)和放置(drop) ...
- C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用心得
在网上查了很多,发现没有讲述关于--C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用--的资料 自己研究了一个使用方法.下面来看看. 我有两个窗体:LOGINFRM,M ...
- (C)位字段(bit-field)
位字段(bit-field) 在存储空间很宝贵的情况下,有可能需要将多个对象保存在一个机器字中,一种常用的方法是:使用类似于编译器符号表的单个二进制位标志集合,外部强加的数据格式(如设备接口等寄存器) ...
- 让你的Blend“编辑其他模板”菜单里出现你的Style
原文:让你的Blend"编辑其他模板"菜单里出现你的Style 如图.. 昨天在做控件的时候遇到了一个新的要求,让美工可以在Blend里直接编辑自定义控件里子内容的模板.于是乎疯狂 ...
- union, enum, and struct, 以及结构填充和位字段实现。
Table 4-9 Compiler storage of data objects by byte alignment Type Bytes Alignment char, bool, _Bool ...
- 20140321 sizeof 虚函数与虚函数表 静态数组空间 动态数组空间 位字段
1.静态的数组空间char a[10];sizeof 不能用于1:函数类型 2:动态的数组空间new3:位字段 函数类型:int fun();sizeof(fun())计算的是返回类型的大小,并不是函 ...
随机推荐
- [笔记]C++声明返回数组指针的函数
数组指针的声明:type (*name)[size]; 由于数组不能拷贝,所以函数不能返回数组.但是函数可以返回指针和引用,所以函数可以返回数组指针或引用. 和数组指针的声明类似: type (*fu ...
- layer是一款近年来备受青睐的web弹层组件
layer.closeAll(); //疯狂模式,关闭所有层 layer.closeAll('dialog'); //关闭信息框 layer.closeAll('page'); //关闭所有页面层 l ...
- python struct的使用例子
import struct i = 1024 # s0为一个字符串,长度为4,即占四个字节,这样方便传输与保存二进制数据. s0 = struct.pack(">I", i) ...
- python中selenium操作下拉滚动条方法
场景:在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 解决方法: 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: #将页面滚动条拖到 ...
- window 定时任务小项目,每秒钟,每分钟访问url
个人百度网盘中 链接: https://pan.baidu.com/s/15sK2H-OtrAkAYcXjsxwihA 提取码: awv3 复制这段内容后打开百度网盘手机App,操作更方便哦
- How to get full path of StreamWriter
How to get full path of StreamWriter In my version of the framework, this seems to work: string f ...
- nginx 错误集锦
1)下载地址 http://nginx.org/en/download.html 找windows的下载. 2)然后解压到自己的一个目录. 3)配置环境变量,将解压到的路径加进去. 4)修改配置文件 ...
- rsync+inotify 实时双向同步
前言 在遇到需要 nginx 负载均衡,承受较高并发的情况,同时会有双机相同目录内容须保持一致的需求 rsync+inotify 是一个不错的解决方案,相较于 rsync+sersync 在处理大量文 ...
- Python接口测试-利用登录后的session用到登录后的接口中
有些接口是在登录后才能调用的,例如“立即出借”只有在登录后才能到出借窗口,解决: 主要是添加了: s =requests.session() 完整代码: '''登录 ''' print('*'*100 ...
- Android中常见的默认实现类
* Basexxx* Defaultxxx* Simplexxx* Baicxxx