Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式

1.extjs 给怎么给panel设背景色

设置bodyStyle:'background:#ffc;padding:10px;',

var resultsPanel = Ext.create('Ext.panel.Panel', {
    title: 'Results',
    width: 600,
    height: 400,
    renderTo: Ext.getBody(),
    bodyStyle: 'background:#ffc; padding:10px;',
    layout: {
        type: 'vbox',       // Arrange child items vertically
        align: 'stretch',    // Each takes up full width
        padding: 5
    },
    items: [{               // Results grid specified as a config object with an xtype of 'grid'
        xtype: 'grid',
        columns: [{header: 'Column One'}],            // One header just for show. There's no data,
        store: Ext.create('Ext.data.ArrayStore', {}), // A dummy empty data store
        flex: 1                                       // Use 1/3 of Container's height (hint to Box layout)
    }, {
        xtype: 'splitter'   // A splitter between the two child items
    }, {                    // Details Panel specified as a config object (no xtype defaults to 'panel').
        title: 'Details',
        bodyPadding: 10,
        items: [{
            fieldLabel: 'Data item',
            xtype: 'textfield'
        }], // An array of form fields
        flex: 2             // Use 2/3 of Container's height (hint to Box layout)
    }]
});

2. Extjs4.0 设置 Ext.data.Store 传参的请求方式

var Store = Ext.create('Ext.data.Store', {  
    pageSize: pageSize,  
    model: 'Ext.data.Model名称',  
    autoLoad: false,  
    proxy: {  
        type: 'ajax',  
        url: '请求路径',  
        getMethod: function(){ return 'POST'; },//亮点,设置请求方式,默认为GET  
        reader: {  
            type: 'json',  
            root: 'Data',  
            totalProperty: 'totalCount'  
        }  
    },   
    listeners: {  
        'beforeload': function (store, op, options) {  
            var params = {  
                //参数  
            };  
            Ext.apply(store.proxy.extraParams, params);   
        }  
    }  
});  

3.ExtJS grid 带参数查询分页 store 传额外参数解决办法

在store的beforeload事件里面重写store.proxy.extraParams,添加新参数

就不必每次都手动的添加参数

store.on('beforeload', function (store, options) {
        var new_params = { name: Ext.getCmp('search').getValue() };
        Ext.apply(store.proxy.extraParams, new_params);
        // alert('beforeload');
    });
在Extjs3 中的
store.on('beforeload', function () {
            store.baseParams = {
                name: '5555555',
                intss: '666666666'
            };
        }); 

下面给出完整的代码。原理很简单,将搜索条件放在store的baseParams中,每次加载都赋值。

只是需要强制赋值,因为默认的pagetoolbar只会把start、limit、page、sort、dir传递给store。

var store = new Ext.data.Store({  
       pageSize: GridPageSize,  
       model: 'Master',  
       autoLoad: false,   
       proxy: {  
           type: 'ajax',  
           url: '/master/GetMasterData',  
           reader: {  
               type: 'json',  
               root: 'data',  
               totalProperty: 'totalCount'  
           }  
       },  
       fields: [  
           { name: 'Id' },  
           { name: 'Master_Name' }  
           
       //排序  
       sorters: [{  
           property: 'Master_Name',  
           direction: 'DESC'  
       }]   
        
   });  
store.on('beforeload', function (store, options) {  
        var new_params = { name: Ext.getCmp('search').getValue() };  
        Ext.apply(store.proxy.extraParams, new_params);  
        // alert('beforeload');  
    });  
store.load({  
       params: { start: 0, limit: GridPageSize }  
   })  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Golang语言调用百度帐号

1:你要注册一个开发者,创建应用,填写完基本信息之后就要填写回调地址了 2:选择右上角的管理控制台---选择左下角的 其他API -- 选择安全设置--授权回调...

33914
来自专栏跟着阿笨一起玩NET

使用windows服务和MSMQ和进行日志管理(解决高并发问题)

然后就可以写我们的代码了,我们的服务需要实时监视MSMQ的队列中有没有记录,如果有,就向数据库中插入

771
来自专栏晓晨的专栏

.NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

大家好,我是晓晨。许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具。比如我在20...

2548
来自专栏C#

将文本文件的内容存储在DataSet中的方法总结

    项目中比较多的会对文件进行操作,例如文件的上传下载,文件的压缩和解压等IO操作。在.NET项目中较多的会使用DataSet,DataTable进行...

1748
来自专栏GuZhenYin

ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)

前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.....

2575
来自专栏双十二技术哥

深入Weex系列(七)Adapter组件源码解析

在上一篇文章《深入Weex系列(六)Weex渲染流程分析》中我们分析了Weex的渲染流程,但是实际上串起来的还是Module以及Component组件,加上We...

692
来自专栏web开发

angularjs自定义指令实现分页插件

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能。现在单独做了个简易的小demo,主要是为...

22110
来自专栏NetCore

【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)

运行应用 In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a...

2018
来自专栏前端那些事

起步 - 从场景中看父子组件间通信

组件间通信是组件开发的,我们既希望组件的独立性,数据能互不干扰,又不可避免组件间会有联系和交互。 在vue中,父子组件的关系可以总结为props down,ev...

1929
来自专栏木宛城主

两天完成一个小型工程报价系统(三层架构)

花了两天,整理了一下三层架构,顺便练了一个小型三层架构——工程报价系统。 功能很简单,完成基本的增删改查 搭建项目三层结构 ? 界面的设计以及美化 ...

2379

扫码关注云+社区