UAP验证例子

该博客展示了如何使用UAP验证来编辑设备信息,包括设备名称、型号、变电站、间隔单元等字段,并使用DataForm、DropDownGridEditor等控件进行数据输入,支持远程数据加载和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$ns("form.views");

$import("mx.controls.ToolBar");
$import("mx.datacontainers.FormEntityContainer");
$import("mx.datacontrols.DataForm");
$import("mx.datacontainers.GridEntityContainer");

form.views.FormDetailView = function()
{
    var me = $extend(mx.views.View);
    var base = {};
    var _form=null;
    me.objID = null;
	me._form = null;
	/* 初始化单表单控件 */
    base.init = me.init;
    me.init = function()
    {
        base.init();
        _initControls();
    };
	me.load = function()
    {
    	//加载表单META信息
    	_form.load(me.objID);
    }
    function _initControls()
    {
    	_initToolBar();
    	_initForm();
    }
    function _initToolBar(){
        var toolBar = new mx.controls.ToolBar({
            width: "100%",
            items: [
                { name: "save", text: mx.msg("SAVE"), toolTip: mx.msg("SAVE"), onclick: me.controller._btnSave_onclick }
            ]
        });
        me.addControl(toolBar);
    }
    
    function _initForm(){
    	var restUrl = "~/rest/uapsb/";
        /* 初始化 EntityContainer */        
       var formEntityContainer = new mx.datacontainers.FormEntityContainer({
            baseUrl : form.mappath(restUrl),
			primaryKey: "objId"
        });
        //创建表单实例
        _form = new mx.datacontrols.DataForm({
			fields: [
		        {	name: "objId", caption: "主键", 	  editorType: "TextEditor", visible:false},
		        {	name: "mc",    caption: "设备名称 ", editorType: "TextEditor",validType:"NOTNULL",validOptions:{validateMessage:"请输入中文"}},
		        {	name: "sbxh",  caption: "设备型号", editorType: "TextEditor",lineBreak:false},
		        {	name: "bdz",   caption: "变电站 ",  editorType: "TextEditor"},
		        {	name: "jgdy",  caption: "间隔单元", editorType: "NumberEditor",lineBreak:false},
		        {	name: "azrq",  caption: "安装日期", editorType: "DateTimeEditor"},
		        {
		        	name: "sblx",
		        	caption: "设备类型",
		        	editorType: "DropDownGridEditor",
		        	valueColumn: "objId",
		        	displayColumn: "sblx",
		    		displayCheckBox: true,
		    		lineBreak:false,
		    		dropDownHeight: 200,
		    		dropDownWidth: 300,
		    		dataGrid: {
		    			columns:[
		    			         {	name: "objId", caption: "主键", 	  editorType: "TextEditor", visible:false},
		    				     {	name: "sblx", caption: "设备类型" ,  editorType: "DropDownGridEditor",visible:true}
		    			        ],
		    			displayPrimaryKey:false,
		    			pageSize : 5,
		    			allowSorting : true,
		    			entityContainer: new mx.datacontainers.GridEntityContainer({
		    				baseUrl : form.mappath("~/rest/uapsb/"),
		    				primaryKey: "objId",
		    				type : "remote" 
		    			})
		    		}
	        },
	        {	name: "sfzy",  caption: "是否在用", editorType: "DropDownEditor"},
	        {	name: "ssbm",  
	        	caption: "所属部门",
	        	editorType: "DropDownTreeEditor",
	        	lineBreak: false,
	        	displayCheckBox: true,
	        	isLazyLoad:true,
	        	url: form.mappath("~/rest/uapbm/departnode")
	        },
	        {	name: "sfwx",  caption: "是否已维修", editorType: "DropDownEditor"},
		    {	name: "sysm",  
	        	caption: "使用说明",
	        	editorType: "FileEditor",
	        	type : "form",//类型声明为 form
	        	//filePath:"d:\testUpload",
	            uploadMode : "blob",//保存方式为file,文件会保存到服务器指定磁盘路径;为blob会保存到数据库的BLOB类型字段中。
	            tableName : "uap_sb",//数据对应的表名,必须是数据库中的物理表名
	            primaryKey : "obj_id",//数据表的主键字段名
	            colName : "sysm",//当前字段在数据库中的物理名称
	            isAdvance:true,
	            colSpan:2
		    }
		    ],
            entityContainer: formEntityContainer,
            maxCols:2,
            onload: me.controller._formLoad,
            onvalidate:me.controller._validateDate
        });
        me.addControl(_form);
    }
   //获取表单
    me._getForm= function (){
    	return _form;
    }
    return me.endOfClass(arguments);
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值