Ext之自定义组件,之Render

/**
* 数据字典 代码到名称的翻译
* author zgl 2014-02-24
*
* 【用法】
* 定义 var cameraTypeRender = new Ext.rtt.dictionary.RendererMultiple('com.rtt.emergency.resource.model.Carmera.typeId');
*
* 使用 {
header : '类型',
width : 50,
sortable : true,
dataIndex: 'typeId',
align :'center',
renderer:cameraTypeRender.renderer.createDelegate(cameraTypeRender)
}

【解释】
输入: 01,02
输出: 水灾,火灾
*/
Ext.rtt.dictionary.RendererMultiple = function(datatype){
var storeObject = {};
storeObject.autoDestroy = true;
storeObject.autoLoad = true;
storeObject.url = ContextPath + '/commplat/json_service.do';
storeObject.root = 'root';
var fields = 'id,name';
var fieldsArr = fields.split(",");
storeObject.fields = fieldsArr;
//storeObject.fields=fields;

var baseParams = {};
baseParams.jsonlist = 'jsonlist';
//add cyzhang 绕过session检查
baseParams.bypass = 'true';
baseParams.serviceClassName = 'com.rtt.platform.system.service.http.ListTypeServiceJSON';
baseParams.serviceMethodName = 'getListTypes';
baseParams.serviceParameters = 'type';
baseParams.type = datatype;
storeObject.baseParams = baseParams;
Ext.rtt.dictionary.RendererMultiple.superclass.constructor.apply(this, arguments);

this.store = new Ext.data.JsonStore(storeObject);
var me1 = this;
this.store.on("load", function(store, records, options ) {
me1.fireEvent('load');

});

this.store.on("loadexception", function(combobox, o, response, e) {
var msgObj = Ext.decode(response.responseText);
Ext.Msg.alert('错误', msgObj.msg);
});
//return this.store;
//this.displayField = "dcName";
//this.valueField = "code";
};

Ext.extend(Ext.rtt.dictionary.RendererMultiple, Ext.util.Observable,{
/**
* 构造方法
* @param config 配置信息
*/
constructor: function(config){
this.name = config.name;
this.addEvents({
"load" : true,
"loadexception" : true
});
//this.listeners = config.listeners;
},
getStore : function(){
return this.store;
},
renderer : function(v){
var displayText = '';
var vArray = v.split(',');
for(var i=0;i<vArray.length;i++){
var val = vArray[i];
var index2 = this.store.find('id', val);
var record = this.store.getAt(index2);
if(record != null){
displayText += record.data['name']+',';
}
}
if(displayText != ''){
return displayText;
}
return v;

}

});




-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值