extjs4.1 grid columns处理几个小问题(第一:combobox 中的store带参数到后台,第二model数据是一个object)
2013-07-15 22:34
399 查看
第一个问题:combobox中的store可以通过带参数来区分。
后台返回的数据是这样的:
email是一个对象。
所以在model中这样写:
view中这样:
问题三:有时候,后天返回的数据是一个对象,这个对象是list,这时候就要处理了。
后天给的数据:
里面的animals是一个list对象
model代码
view 中grid可以这样写:
Ext.define("zyc.view.test.ComboboxStoreParam",{ extend:'Ext.panel.Panel', title : '测试',//标题 alias: 'widget.comboboxstoreparam', frame : true,//面板渲染 width : 700, height: 480, bodyStyle: { background: 'whiter', padding: '10px' }, items:[{ xtype:'combobox', store: 'test.User', queryMode: 'local', displayField: 'name', listeners:{ render:function(cb,eOpts ){ var store=cb.getStore(); store.proxy.url+='?type=ComboboxStoreParam', console.debug(store.proxy.url); } } }] })第二个问题:
后台返回的数据是这样的:
[{"age":20,"email":{"age":226,"name":"2261354-99","type":226},"id":1,"name":"关耳丘山川1"},{"age":30,"email":{"age":233,"name":"2261354-88","type":223},"id":2,"name":"关耳丘山川2"},{"age":40,"email":{"age":244,"name":"2261354-77","type":244},"id":3,"name":"关耳丘山川3"},{"age":50,"email":{"age":266,"name":"2261354-66","type":266},"id":4,"name":"关耳丘山川4"},{"age":0,"email":null,"id":0,"name":""}]
email是一个对象。
所以在model中这样写:
Ext.define('zyc.model.User', { extend: 'Ext.data.Model', fields: [ {name: 'name', type: 'string',sortable : true}, {name: 'age', type: 'int',sortable : true}, {name: 'email.type', type: 'int',sortable : true} ] });
view中这样:
Ext.define("zyc.view.List",{ extend:'Ext.grid.Panel', title : 'Grid Demo',//标题 alias: 'widget.userlist', frame : true,//面板渲染 width : 600, height: 280, columns : [ //列模式 {text:"Name",dataIndex:'name',width:100}, {text:"age",dataIndex:'age',width:100}, {text:"email",dataIndex:'email.type',width:350, field:{ xtype:'textfield', allowBlank:false } } ], tbar :[ {xtype:'button',text:'添加',iconCls:'table_add'}, {xtype:'button',id:'delete',text:'删除',iconCls:'table_remove'}, {xtype:'button',text:'修改',iconCls:'table_edit'}, {xtype:'button',text:'查看',iconCls:'table_comm'} ], dockedItems :[{ xtype:'pagingtoolbar', store:'Users', dock:'bottom', displayInfo:true }], plugins:[ Ext.create("Ext.grid.plugin.CellEditing",{ clicksToEdit : 2 }) ], selType:'checkboxmodel',//设定选择模式 multiSelect:true,//运行多选 store : 'Users', initComponent:function(){ console.debug(this.getStore()); this.callParent(arguments); } });
问题三:有时候,后天返回的数据是一个对象,这个对象是list,这时候就要处理了。
后天给的数据:
[{"age":20,"animals":[{"age":"test","name":"licy"},{"age":"test","name":"lili"}],"email":{"age":226,"name":"2261354-99","type":226},"id":1,"name":"关耳丘山川1"},{"age":30,"animals":[],"email":{"age":233,"name":"2261354-88","type":223},"id":2,"name":"关耳丘山川2"},{"age":40,"animals":[],"email":{"age":244,"name":"2261354-77","type":244},"id":3,"name":"关耳丘山川3"},{"age":50,"animals":[],"email":{"age":266,"name":"2261354-66","type":266},"id":4,"name":"关耳丘山川4"},{"age":0,"animals":[],"email":null,"id":0,"name":""}]
里面的animals是一个list对象
model代码
Ext.define('zyc.model.User', { extend: 'Ext.data.Model', fields: [ {name: 'name', type: 'string',sortable : true}, {name: 'age', type: 'int',sortable : true}, {name: 'email.type', type: 'int',sortable : true}, {name: 'animals', type: 'object',sortable : true} ] /*hasMany:{ model: 'animal', name : 'Animal' //filterProperty: 'teacher_Id' }*/ });
view 中grid可以这样写:
{text:"animal",dataIndex:'animal',width:350, renderer: function(value, metaData, record, row, col, store, gridView){ var animals =record.data.animals; var newValues=new Array(); for(var i=0;i<animals.length;i++){ newValues.push(animals[i].name); } var newValue=newValues.join(','); console.debug(animals); console.debug(newValue); return newValue; } }
相关文章推荐
- 今天遇到一个问题:在程序中加入的定时触发器,当时出现这样一个问题,触发器定时2秒,程序从后台查询数据经过复杂处理后时间超过了2秒,我查阅好些网络上说有可能触发器等待程序执行完毕后,在触发下一次,也有说
- 解决处理后台返回json数据格式问题
- 数据泵导入的参数EXCLUDE有一个问题!
- extjs JsonStore加载数据,Combobox只显示最后一项值问题
- 我也在考虑一个问题,当数据量达到PB级别时怎么处理?
- thinkphp3.2 后台接收安卓前端传参出问题(取不到参数数据)
- 把一个用sql server 2005内置加密方法加密数据的DB从一台电脑备份后,还原到另外一台电脑上,出现的问题的处理办法
- extjs JsonStore加载数据,Combobox只显示最后一项值问题
- json数据与JAVA数据的转换 jsonJavaBean.netApache 自己编写了一个工具类,处理页面提交json格式数据到后台,再进行处理成JAVA对象数据 1、DTO:Data T
- ajax提交数据到后台处理返回json问题
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
- extjs JsonStore加载数据,Combobox只显示最后一项值问题
- js ajax post请求 传递一个较长的参数(含有逗点),IE浏览器可以正常传递到后台做处理,谷歌浏览器会把参数拦截,找不到相应的目标
- angular的$http.post()提交数据到Java后台接收不到参数值问题的解决方法
- extjs JsonStore加载数据,Combobox只显示最后一项值问题
- ComboBox 绑定到数据表中一个列的问题
- js几个简单的工具类函数 事件绑定处理、加载数据字典下拉框、重新加载下拉框、参数处理
- .net大批量处理数据表时出现的一个问题
- 后台 与 js 处理Get方式提交的中文参数乱码问题
- extjs JsonStore加载数据,Combobox只显示最后一项值问题