Extjs4使用mvc模式,封装Store层的ArrayStore无法动态加载后台数据

问题描述

Extjs4使用mvc模式,封装Store层的ArrayStore无法动态加载后台数据
store层代码

 Ext.define('Desktop.store.function.FunctionStore'{    extend: 'Ext.data.ArrayStore'    requires:['Desktop.model.function.UserModel']    model: 'Desktop.model.function.UserModel'    autoLoad: true    proxy:{        type:'ajax'        url:'index/userFindAll.do'        reader: {            type: 'json'        }    }});

view层代码

 Ext.define('Desktop.view.function.FunctionGrid' {    extend: 'Ext.panel.Panel'    requires: ['Desktop.store.function.FunctionStore']    alias: 'widget.itgrid'    itemId: 'sampleTest'    layout: {        type: 'border'    }    title: '表单'    initComponent: function() {        var me = this;        var store = Ext.create('Desktop.store.function.FunctionStore');        store.load();//        var store = Ext.create('Ext.data.ArrayStore'{//          model:'Desktop.model.function.UserModel'//          proxy:{//              type:'ajax'//              url:'index/userFindAll.do'//          }//        });//        store.load();        //声明行编辑器插件        var rowEditing = Ext.create('Ext.grid.plugin.RowEditing' {            clicksToMoveEditor: 1            autoCancel: false        });        //复选框插件        var sm = Ext.create('Ext.selection.CheckboxModel');        Ext.applyIf(me {            items: [{                id:'itl'                xtype:'gridpanel'                bodyPadding: 0                region: 'center'                columns: [{                    text: 'id'                    width: 97                    sortable: true                    renderer: this.change                    dataIndex: 'id'                }{                    text: 'groupId'                    width: 97                    sortable: true                    renderer: this.pctChange                    dataIndex: 'groupId'                }{                    text: 'userName'                     locked: true                    width: 200                    sortable: false                    dataIndex: 'userName'                }{                    text: 'userPass'                    width: 97                    sortable: false                    dataIndex: 'userPass'                }{                    text: 'userDes'                    width: 97                    sortable: false                    dataIndex: 'userDes'                }{                    text: 'modifyTime'                    width: 97                    sortable: false                    dataIndex: 'modifyTime'                }{                    text: 'userPass'                    width: 97                    sortable: false                    dataIndex: 'userPass'                }{                    text: 'userDes'                    width: 97                    sortable: false                    dataIndex: 'userDes'                }{                    text: 'modifyTime'                    width: 97                    sortable: false                    dataIndex: 'modifyTime'                }{                    text: 'userPass'                    width: 97                    sortable: false                    dataIndex: 'userPass'                }{                    text: 'userDes'                    width: 97                    sortable: false                    dataIndex: 'userDes'                }{                    text: 'userPass'                    width: 97                    sortable: false                    dataIndex: 'userPass'                }{                    text: 'userDes'                    width: 97                    sortable: false                    dataIndex: 'userDes'                }]                store: store                selModel: sm            }]        });         me.callParent(arguments);    }    change: function (val) {        if (val > 0) {            return '<span style=""color:green;"">' + val + '</span>';        } else if (val < 0) {            return '<span style=""color:red;"">' + val + '</span>';        }        return val;    }    pctChange: function (val) {        if (val > 0) {            return '<span style=""color:green;"">' + val + '%</span>';        } else if (val < 0) {            return '<span style=""color:red;"">' + val + '%</span>';        }        return val;    }});

解决方案

还是自己回答吧,没有悬赏的分。。
我发现把extend:继承的ArrayStore改成Store就好了,具体原因没时间研究,刚学了两个星期,工作需要不得不先做。同时我还发现了extjs4版本的gridpanel中tabpanel中嵌入gridpanel,如果多列,同时设置某列locked,就会出现格式错位,后来使用Store就没有这个问题了,不知道为什么ArrayStore会有这个问题。

解决方案二:
在线等,求大神解惑!!!

时间: 2024-08-31 11:17:24

Extjs4使用mvc模式,封装Store层的ArrayStore无法动态加载后台数据的相关文章

ExtJS4 组件化编程,动态加载,面向对象,Direct_extjs

ExtJS4推荐定义类的时候均使用Ext.define,利用xtype动态加载 修改了以前的一个登陆窗口,感觉用官方推荐的方法还是很不错的 但还有一些问题没有想得非常清楚,先把代码贴出来一起研究下.请看代码中的注释~~ 使用Ext+.Net,用Direct模式传递数据 Default.aspx: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3

WPF MVVM模式动态加载用户控件的问题

问题描述 有这样一个场景,主窗体(MainWwindow)上有4个Button,点击每个Button都会加载一个UserControl(关闭正在打开的)每个UserControl绑定了自己的ViewModel那么MainWindow的ViewModel里,用什么方式加载UserControl?最好是不要在MainWwindow.cs里写代码: 解决方案 解决方案二:写一个方法根据点击不同的button返回不同的UserControl.解决方案三:引用楼主qq_25876223的回复: 有这样一个

在MVC应用程序中动态加载PartialView

原文:在MVC应用程序中动态加载PartialView 有时候,我们不太想把PartialView直接Render在Html上,而是使用jQuery来动态加载,或是某一个事件来加载. 为了演示与做好这个练习,我们先在Views目录下的Home下创建_Partial1.cshtml部分视图,视图内容任你自定义,Insus.NET在本例中只让其显示一些文字与一张图片: 接下来,我们需要建立一个ActionResult()方法,在Controllers目录之下,打开HomeController.cs:

请问用责任链模式如何实现动态加载对象?

问题描述 现在需求是酱紫,一个系统在导入数据的时候要做很多验证,于是将验证部分分离出来单独做一个验证系统,由于验证很多而且还经常变动,于是打算用责任链的模式来做,但由于用户不同需要的验证也不一样,请问有什么好的办法可以实现动态加载对象呢?

重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据

原文:重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据 [源码下载] 重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 绑定 通过实现 ISupportIncrementalLoading 接口,为 ListViewBase 的增量加载提供数据 示例实现 ISupportIncrementalLoading 接口,以便为 ListV

浅谈MVC+EF easyui dataGrid 动态加载分页表格_jquery

首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载表格!!! function LoadGrid() { $('#roleGrid').datagrid({ width: 900, striped: true, //交替条纹 fitColumns: true, //防止水平滚动 fit: true,//自动补全 iconCls: "icon-sav

做了MVC模式一年,可不要把传统模式忘记呀!ashx配合aspx实现AJAX加载JSON数据

ASHX内容: #region IHttpHandler Members     public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/x-javascript";   List<User> list = new List<User>(); for (int i = 0; i < 10; i++) { list.Add(ne

ios UITableView封装之下拉-上提-图片异步加载

写在前面 做过移动端开发的人都知道,列表控件是最常用的控件之一.iOS里的列表控件是UITableView,其实Apple的开发人员对于UITableView的设计已经够好的了(简单易用,扩展性非常强等等). 但对于展示逻辑单一的移动端系统软件,你还是能感觉到有些繁琐(或许是程序员天生就有些懒惰的毛病吧). 来看看它到底繁琐在哪儿了.首先,它的使用频率太高了:第二,它通常不是只呈现一下数据就完事了,一般都会跟随下拉刷新.上提加载更多功能,当然通常还要跟网络下载数据.图片打交道:第三,MVC模式是

ExtJS4 动态加载TreePanel的问题

问题描述 前台代码 : store : Ext.create('Ext.data.TreeStore', {root : {id : '00',text : '民星兽药',expanded : true//nodeType : 'async'},proxy : { autoLoad:true,type : 'ajax',url : ctxpath + '/SystemManager/TreeList',reader : {type : 'json',root : 'alltrees'}Actio