EXT动态生成fieldset(可适用于动态添加一行等)

来源:互联网 发布:星推网络招聘 编辑:程序博客网 时间:2024/05/18 08:35
Ext.Ajax.request({url : contextPath + "/refreshManager/list",waitMsg : '数据处理中...',success : function(resp, options) {var respText = Ext.util.JSON.decode(resp.responseText);var map = new Map();for(var i=0;i<respText.data.length;i++){if(!map.containsKey(respText.data[i].typeName)){var arr = new Array();arr.push(respText.data[i]);map.put(respText.data[i].typeName,arr);}else{map.get(respText.data[i].typeName).push(respText.data[i]);}}map.each(function(key,value,index){var fieldset = new Ext.form.FieldSet({title: key.trim()+'管理器配置',id: 'fieldSet_' + index});for(var j = 0;j< value.length;j++){var panel = new Ext.Panel({id: 'fieldSet_' + index+'_'+j,layout: 'column',border: false,items : [{columnWidth : .3, border : false,layout : 'form',items : [{xtype : 'compositefield',id : value[j].threadId+'_1',name : value[j].threadId+'_1',fieldLabel : '管理器名称',anchor:'90%', items: [                            {xtype: 'displayfield', value: value[j].threadName}                        ]}/*{xtype : 'textfield',fieldLabel : '管理器名称',id : value[j].threadId+'_1',name : value[j].threadId+'_1',value : value[j].threadName,disabled : true,anchor:'90%'}*/]},{columnWidth : .2, border : false,layout : 'form',items : [{xtype : 'compositefield',id : value[j].threadId+'_2',name : value[j].threadId+'_2',fieldLabel : '推荐周期('+convent(value[j].cycleUnit)+')',anchor:'90%', items: [                            {xtype: 'displayfield', value: value[j].defaultCyleTime}                        ]}/*{xtype : 'textfield',fieldLabel : '推荐周期('+convent(value[j].cycleUnit)+')',id : value[j].threadId+'_2',name : value[j].threadId+'_2',value : value[j].defaultCyleTime,disabled : true,anchor:'90%'}*/]},{columnWidth : .4, border : false,layout : 'form',items : [{xtype : 'numberfield',fieldLabel : '当前周期('+convent(value[j].cycleUnit)+')',id : value[j].threadId+'_3',name : value[j].threadId+'_3',minValue : value[j].minValue,maxValue : value[j].maxValue,value : value[j].cycleTime,anchor:'60%'}]}]});fieldset.add(panel);fieldset.doLayout();}refreshManagerPanel.add(fieldset);refreshManagerPanel.doLayout();    });},failure : function(response, options) {extAlert("error", '系统异常。');}});

MAP.JS  JS模拟java MAP实现

/** *  */Array.prototype.remove = function(s) {for (var i = 0; i < this.length; i++) {if (s == this[i])this.splice(i, 1);}}/** * Simple Map *  *  * var m = new Map(); m.put('key','value'); ... var s = ""; * m.each(function(key,value,index){ s += index+":"+ key+"="+value+"\n"; }); * alert(s); *  * @author dewitt * @date 2008-05-24 */function Map() {/** 存放键的数组(遍历用到) */this.keys = new Array();/** 存放数据 */this.data = new Object();/** * 放入一个键值对 *  * @param {String} *            key * @param {Object} *            value */this.put = function(key, value) {if (this.data[key] == null) {this.keys.push(key);}this.data[key] = value;};/** * 获取某键对应的值 *  * @param {String} *            key * @return {Object} value */this.get = function(key) {return this.data[key];};/** * 删除一个键值对 *  * @param {String} *            key */this.remove = function(key) {this.keys.remove(key);this.data[key] = null;};/** * 遍历Map,执行处理函数 *  * @param {Function} *            回调函数 function(key,value,index){..} */this.each = function(fn) {if (typeof fn != 'function') {return;}var len = this.keys.length;for (var i = 0; i < len; i++) {var k = this.keys[i];fn(k, this.data[k], i);}};/** * 获取键值数组(类似Java的entrySet()) *  * @return 键值对象{key,value}的数组 */this.entrys = function() {var len = this.keys.length;var entrys = new Array(len);for (var i = 0; i < len; i++) {entrys[i] = {key : this.keys[i],value : this.data[i]};}return entrys;};/** * 判断Map是否为空 */this.isEmpty = function() {return this.keys.length == 0;};/**     * 判断Map是否包含key     */    this.containsKey = function(key) {        for (i = 0; i < this.keys.length; i++) {if (this.keys[i] == key) {return true;}}return false;    };    /** * 获取键值对数量 */this.size = function() {return this.keys.length;};/** * 重写toString */this.toString = function() {var s = "{";for (var i = 0; i < this.keys.length; i++, s += ',') {var k = this.keys[i];s += k + "=" + this.data[k];}s += "}";return s;};}


原创粉丝点击