关闭

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

1907人阅读 评论(0) 收藏 举报
分类:

 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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50028次
    • 积分:874
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:1篇
    • 译文:16篇
    • 评论:5条
    最新评论