核心提示:1:关于导入excel就不说了 网上很多教程,关键是在ext grid中显示问题,其实就是对Ext的了解和api熟悉程度不高。目前在ext中导入excel尝试通过了两种方法。需求:导入excel 在E...
1:关于导入excel就不说了 网上很多教程,关键是在ext grid中显示问题,其实就是对Ext的了解和api熟悉程度不高。
目前在ext中导入excel尝试通过了两种方法。
需求:导入excel 在Ext grid中显示 然后点击按钮确定是否保存(后台做数据验证,固定列名)
分析需求可以理解为如何更换Grid的数据源为本地数据
方法一:(不推荐行数50大概加载2-3M,我加载700行13列的数据加载了2,3分钟...)
这种方式不推荐所以就提供api和大概例子
store.add( name: data[i].get("name"), sex: data[i].get("name") }));
一般还需要在外面加个for循环
方法二:(推荐这种方法效率跟从后台取的效率差不多,加载700行13列的数据就加载了2,3秒都不到...,)
var myStore = Ext.create("Ext.data.Store", { model : 'Import.model.model', data : data }); Ext.getCmp('xx_grid').reconfigure(myStore); var store2 = Ext.getCmp("xx_grid").getStore(); store2.load();
这个方法就是给Grid更换数据源(store);data就是数据源头即请求后台时定义的
reader: { type: 'json', root: 'data' }、
model的话就是数据名称而已例
Ext.define('Import.model.model', { extend: 'Ext.data.Model', requires: [ 'Ext.data.Field' ], fields: [ { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '' } ] });
数据格式为data[{'',''},{'',''}]