- {
- header:'上级',
- dataIndex:'superiorsId',
- editor : personComboBox,
- renderer:function(v) {
- var index = personComboBox.store.find('id',v);
- return personComboBox.store.getAt(index).get('realName');
- }
- Ext.namespace('Xietong.person');
- Xietong.person.PersonStore = Ext.extend(Ext.data.Store, {
- proxy: new Ext.data.HttpProxy({
- url:'mocule/common/listUser.do'
- }),
- reader:new Ext.data.JsonReader({
- root:'root',
- totalProperty:'totalCount'
- },[
- {name : 'id'},
- {name : 'userName'},
- {name : 'password'},
- {name : 'realName'},
- {name : 'mobile'},
- {name : 'gender'},
- {name : 'birthday',type : 'date',dateFormat:'Y-m-d'},
- {name : 'school'},
- {name : 'specialty'},
- {name : 'departmentId'},
- {name : 'departmentName'},
- {name : 'superiorsId'},
- {name : 'superiorsName'}
- ])
- });
- Xietong.person.PersonComboBox = Ext.extend(Ext.form.ComboBox, {
- fieldLabel:'上级',
- name:'superiorsId',
- hiddenName:'superiorsId',
- anchor:'90%',
- store: new Xietong.person.PersonStore(),
- valueField:'id',
- displayField:'realName',
- triggerAction : 'all',
- mode:'local',
- editable: false,
- triggerAction: 'all',
- allowBlank:false,
- emptyText :'--请选择--'
- });
- public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- List<Department> list = departmentService.list();
- StringBuffer buf = new StringBuffer("");
- for (int i = 0; i < list.size(); i++) {
- Department department = list.get(i);
- if(i != 0) buf.append(",");
- buf.append("[")
- .append(department.getId())
- .append(",'")
- .append(department.getDepartmentName())
- .append("','")
- .append(department.getDepartmentDesc()).append("']");
- }
- String str = "[" + buf.toString() + "]";
- response.setCharacterEncoding("UTF-8");
- response.getWriter().print(str);
- return null;
- }
方法:不列举继承来的方法
Store( Object config )
构造,config定义为{
autoLoad : Boolean/Object,
baseParams : Object,
data : Array,
proxy : Ext.data.DataProxy,//数据代理
pruneModifiedRecords : boolean,//清除修改信息
reader : Ext.data.Reader,
remoteSort : boolean,
sortInfo : Object,
url : String,
}
add( Ext.data.Record[] records ) : void
增加记录records 到store
addSorted( Ext.data.Record record ) : void
增加record到store并排序(仅本地排序时有用)
clearFilter( Boolean suppressEvent ) : void
清除过滤器
collect( String dataIndex, [Boolean allowNull], [Boolean bypassFilter] ) : Array
收集由dataIndex指定字段的惟一值
commitChanges() : void
提交Store所有的变更,会引发Update事件
filter( String field, String/RegExp value, [Boolean anyMatch], [Boolean caseSensitive] ) : void
设定过滤器
field:String
value:String
anyMatch:Boolean //匹配任何部分而不仅令是开始
caseSensitive:Boolean //大小写敏感?
filterBy( Function fn, [Object scope] ) : void
更强悍的过滤方法.fn接收两个参数record和id
find( String property, String/RegExp value, [Number startIndex], [Boolean anyMatch], [Boolean caseSensitive] ) : Number
找到符合条件的第一条记录,参数同filter
findBy( Function fn, [Object scope], [Number startIndex] ) : Number
参见filterBy
getAt( Number index ) : Ext.data.Record
getById( String id ) : Ext.data.Record
依充号/id得到record对象
getCount() : void
得到记录数
getModifiedRecords() : Ext.data.Record[]
得到修改过的记录集
getRange( [Number startIndex], [Number endIndex] ) : Ext.data.Record[]
得到指定范围的记录集合
getSortState() : void
得到排序状态:显然不是void而是返回一个排序对象,同sortInfo一样的结构{field: "fieldName", direction: "ASC|DESC"}
getTotalCount() : void
这个对于翻页信息还是很有用的
indexOf( Ext.data.Record record ) : Number
indexOfId( String id ) : Number
由记录或id得到序号
insert( Number index, Ext.data.Record[] records ) : void
在指定的位置插入记录,并引发add事件
isFiltered() : Boolean
当前设置了过滤器则返回真
load( Object options ) : void
由指定的Proxy使用指定的reader读取远程数据
options定义为
{
}
loadData( Object data, [Boolean append] ) : void
用法比load简单一点,目的是一样的,只是这次数据由本地读取
query( String field, String/RegExp value, [Boolean anyMatch], [Boolean caseSensitive] ) : MixedCollection
queryBy( Function fn, [Object scope] ) : MixedCollection
查询,参数和find类似,但返回所有符合条件的record,而不是第一个符合条件记录的序号
rejectChanges() : void
放弃所有的变更
reload( [Object options] ) : void
重新载入,相当于 load(options,false),如果连options都没有传入,则取最后一次load时使用的参数
remove( Ext.data.Record record ) : void
移除指定记录
removeAll() : void
移除所有记录
setDefaultSort( String fieldName, [String dir] ) : void
设置默认排序规则
sort( String fieldName, [String dir] ) : void
排序
sum( String property, Number start, Number end ) : Number
对property字段由start开始到end求和
事件列表
add : ( Store this, Ext.data.Record[] records, Number index )
beforeload : ( Store this, Object options )
clear : ( Store this )
datachanged : ( Store this )
load : ( Store this, Ext.data.Record[] records, Object options )
loadexception : ()
metachange : ( Store this, Object meta )
remove : ( Store this, Ext.data.Record record, Number index )
update : ( Store this, Ext.data.Record record, String operation )
看名字都很简单,参数也不复杂,略过
用store.find(field,value) 通过一个字段的名和其对应的值,获取store中的一个record的索引 ,假如将之给变量index