您的位置:首页 > 其它

Ext 向Ext.form.ComboBox()中添加列表的分类

2010-11-06 17:14 288 查看
1、静态
var staticComboBox = new Ext.form.ComboBox({
fieldLabel:'回访结果',
name:'result',
hiddenName:'result',
anchor:'100%',
editable:false,
readOnly:true,
mode:'local',
triggerAction:'all',
store:new Ext.data.SimpleStore({
fields:['code','desc'],
data:[
['全部','全部'],
['回访成功','回访成功'],
['无人','无人'],
['错号','错号'],
['停机','停机']
],
autoLoad:true
}),
value:'全部',
valueField:'code',
displayField:'desc'
});


2、动态:

//前台
var dynamicComboBox = new Ext.form.ComboBox({
fieldLabel:'回访人员',
hiddenName:'operator',
name: 'operator',
mode: 'remote',
triggerAction:'all',
anchor:'100%',
editable : false,
readOnly:true,
store:
new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'TestAction!loadOperator.action'
}),
reader:new Ext.data.JsonReader({
root: 'root',
totalProperty: 'totalProperty',
fields:['code','desc']
}
),
autoLoad:true
}),
valueField: 'code',   //值字段
displayField: 'desc', //显示字段
value:'全部'
});
//后台参见:http://blog.csdn.net/xieshengjun2009/archive/2010/10/22/5959687.aspx


3、动态取值后 - 前台另添加一条记录:

var record = Ext.data.Record.create([
{name:'code',type:'string',mapping:'0'},
{name:'desc',type:'string',mapping:'1'}
]);

var newRecord = new record({code:'全部',desc:'全部'});

var store = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'TestAction!loadGroupName.action'}),
reader:new Ext.data.JsonReader({
totalProperty:'results',
root:'rows',
fields:[
{name:'code'},
{name:'desc'}
]
}),
autoLoad:true,
listeners:{'load':function(){
store.add(newRecord);
}
}
});

var groupNameComboBox = new Ext.form.ComboBox({
name:'groupName',
width:130,
readOnly:true,
emptyText:'请选择',
valueField:'code',		//逻辑列名的实际值(code)
displayField:'desc',	//逻辑列名的显示值(decs)
triggerAction:'all',
editable : false,
width:140,
anchor:'100%',
store:store


4、动态取值后 - 后台另添加一条记录:

前台:

var dynamicComboBox = new Ext.form.ComboBox({
fieldLabel:'回访人员',
hiddenName:'operator',
name: 'operator',
mode: 'remote',
triggerAction:'all',
anchor:'100%',
editable : false,
readOnly:true,
store:
new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'TestAction!loadOperator.action'
}),
reader:new Ext.data.JsonReader({
root: 'root',
totalProperty: 'totalProperty',
fields:['code','desc']
}
),
autoLoad:true
}),
valueField: 'code',	  //值字段
displayField: 'desc', //显示字段
value:'全部'
});


后台:

Opterator optr = new Opterator();//返回的列表对象(自定义)

List<Opterator> list = testService.loadtOpterator(map);

Iterator<Opterator> it = list.iterator();
int i=0;

//将list列表数据封装成json格式的数据
JSONObject jsonObject = new JSONObject();

JSONArray jsonArray = new JSONArray();
JSONObject jsonAll = new JSONObject();

jsonAll.put("code", "全部");
jsonAll.put("desc", "全部");

jsonArray.put(i++, jsonAll);

while(it.hasNext()){
JSONObject jsonObj = new JSONObject();
optr = (Opterator)it.next();
jsonObj.put("code", sr.getOptr());
jsonObj.put("desc", sr.getOptr());
jsonArray.put(i++, jsonObj);
}

jsonObject.put("totalProperty", list.size());
jsonObject.put("root", jsonArray);

// 输出到前台
outJsonString(jsonObject.toString());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: