Extjs store load json data,store fields mapping can't show data

原创 2013年12月03日 15:26:28

 Extjs ext4.2.2.1144

 store fields mapping : 'user.lastName' store.loadData()后数据显示不正确,编辑显示也不正确,用store.loadRawData()可以。
loadData through reader use loadRawData


Ext.onReady(function() {
	Ext.create('Ext.data.Store', {
				storeId : 'emptyStore',
				fields : [],
				data : []
			});

	var grid = Ext.create('Ext.grid.Panel', {
				title : 'usergrid',
				tbar : [{
					text : 'test',
					handler : function(b, e) {

						var store = Ext.create('Ext.data.Store', {
									storeId : 'userStore',
									fields : [{
												name : 'user',
												mapping : 'user.lastName'
											}, {
												name : 'address',
												mapping : 'address.country'
											}]
								});
						var columns = [{
									text : 'user',
									dataIndex : 'user',
									flex : 1,
									editor : 'textfield'
								}, {
									text : 'address',
									dataIndex : 'address',
									editor : 'textfield',
									renderer : function(value, metaData,
											record, rowIndex, colIndex, store,
											view) {
										return value;
									}
								}];

						grid.reconfigure(store, columns);
						store.loadRawData([{
									user : {
										firstName : 'wan',
										lastName : 'donglei'
									},
									address : {
										country : 'zhongguo',
										city : 'nanjing'
									}
								}]);

					}
				}],
				store : Ext.data.StoreManager.lookup('emptyStore'),
				columns : [],
				plugins : [Ext.create('Ext.grid.plugin.CellEditing', {
							clicksToEdit : 1,
							listeners : {
								beforeedit : function(editor, e, eOpts) {
									var record = e.record;
									console.log(record.raw.address.city)
									var value = e.value;
									if ('-' == value) {
										return false;
									} else {
										return true;
									}
								},
								edit : function(editor, e, eOpts) {
									var record = e.record;
									console
											.log(record.raw.address.city = 'shanghai')
								}
							}

						})],
				height : 200,
				width : 300,
				renderTo : Ext.getBody()
			});
})


参考:

http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.data.Store-method-loadRawData
http://www.sencha.com/forum/showthread.php?192809

相关文章推荐

extjs 之Ext.data.Store[Grid]操作 【增删修改】

Ext.data.Store是extjs的数据结构。 主要用于extjs的grid和combobox等控件的数据加载和操作。实际上对grid的增删改可以通过对store的操作来控制. 1、增加提交...

ExtJS教程(6)---Ext.data.Store

为了“持之以恒”,写的有点草率,随后会修正

EXTJS TREE的应用以及data.store的作用

EXTJS TREE是EXTJS的重要组件之一。  A TreePanel must be bound to a Ext.data.TreeStore. ExtJS中的数据处理 ExtJs中的数...
  • dq_hsj
  • dq_hsj
  • 2012年05月01日 15:13
  • 716

[Extjs6]浅谈Ext.data.Store的使用.

定义modelExt.define('Example.model.Contact', { extend: 'Ext.data.Model', fields: ['id', 'name'...

Extjs Ext.data.store 捕获加载数据的异常,并打印信息

 页面js部分的写法 Js代码   new Ext.data.Store({      proxy : new Ext.data.HttpProxy({        ...
  • chengs_
  • chengs_
  • 2014年05月02日 10:05
  • 1759

ExtJs开发教程_001_Ext.data.Store使用方法详解

xt.data.Store 用法介绍 这个组件继承自Ext.data.AbstractStore  本篇讲解了如何构造并且做一些基本使用,如果有什么疑问可以联系我QQ1330771552 下面是...

ExtJs之Ext.data.Store

Ext.data.Store的基本用法在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示。var data = [       ['boy', 0],       ['gi...

ExtJS 动态改变 Ext.data.store 的url 地址

/** * 详细试剂类型 XML 数据源 */ var reagInfoDetailType = new Ext.data.Store({ url:BasicUrl+'/ibUI...

extjs 之Ext.data.Store[Grid]操作(增删)

Ext.data.Store是extjs的数据结构。主要用于extjs的grid和combobox等控件的数据加载和操作。实际上对grid的增删改可以通过对store的操作来控制.例子:对grid的增...
  • linkyou
  • linkyou
  • 2011年07月05日 18:57
  • 4309

ExtJS 3.1.0中Ext.data.Store关于baseParams的BUG修正

ExtJs 中,我们使用GirdPanel的时候往往需要给后台传递查询条件。 一般是通过修改Store的baseParams。   Js代码   var store = GirdP...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Extjs store load json data,store fields mapping can't show data
举报原因:
原因补充:

(最多只允许输入30个字)