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 }
   })  

 

 

 

 

时间: 2024-09-27 06:27:06

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

Extjs 项目中常用的小技巧,也许你用得着(1)

我在项目中遇到的一些知识点: 1.在GridPanel中显示图片,效果 对应的代码实现 { text: '是否启用', width: 80, // xtype: 'checkcolumn', dataIndex: 'IsEnabled', renderer: function boolFromValue(val) { if (val) { return '<img src=../../Content/images/true.png>' } else { return '<img src=

Extjs 项目中常用的小技巧,也许你用得着(2)

接着来,也是刚刚遇到的 panel怎么进行收缩 collapsible: true, 这会panel就会出现这个 点这个就可以收缩了 panel怎么随便拉伸,也就是让那个小黑三角出现 split: true, 效果如下: 怎么添加日历显示 var panel = new Ext.Panel({ header : true, title:'日历', frame:true,//渲染面板 collapsible : true,//允许展开和收缩 autoHeight : true,//自动高度 wid

Extjs 项目中常用的小技巧,也许你用得着(3)

几天没写了,接着继续, 1.怎么获取表单是否验证通过: form.isValid()//通过验证为true 2.怎样隐藏列,并可勾选: hidden: true, 如果是动态隐藏的话: grid.getColumnModel().setHidden(1,true); //1 代表要隐藏的列所在位置,true代表隐藏 3.怎样隐藏列,并不可勾选(这个必须配合上边那个一块用) hideable: false, 4.怎样设置简单查询,如果所示: tbar: { xtype: 'toolbar', fr

Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置

1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselector').getValue(); Ext.util.Cookies.set('saveacct',saveacct);  取cookie中数据如下 var validStatus = Ext.util.Cookies.get("saveacct"); alert(validStatus);    其二:设置cookie var

B/S模式项目中常用的javascript汇总

 本篇文章是对B/S模式项目中常用的javascript进行了汇总介绍,需要的朋友可以过来参考下,希望对大家有所帮助 屏弊网页的右键 <body oncontextmenu="return false">或<body style="overflow-y:hidden">   为网页加入背景音乐 IE:<bgsound src="*.mid" loop=infinite> NS:<embed src=&qu

20个常用PPT小技巧

  20个常用PPT小技巧         1.替换字体 一键将 A 字体替换为 B 字体. 如果已经做好了一个 PPT,里面正文用的是宋体,但后来觉得,正文用微软雅黑更好一点.我们点击[替换字体],即可一键替换文件中所有宋体,变成微软雅黑. 2.自定义设置默认字体 指我们将输入的文字字体默认为其他字体,而不是系统默认的宋体. 大家都知道,在制作 PPT 时,系统默认的字体是宋体,如果我想使用黑体,我有两个选择:一是去替换,这是事后干预;二是一开始就把黑体设置为默认的正文字体,这是事前干预. P

深入浅析java web log4j 配置及在web项目中配置Log4j的技巧_java

在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

Excel2010在一个单元格中显示图表小技巧

  Excel2010在一个单元格中显示图表小技巧         步骤一.首先,打开Excel表格,然后鼠标左键单击选中需创建迷你图表的单元格,切换到"插入"功能选项卡中,在"迷你图"组中,单击一种迷你图表类型(目前只有3种迷你图:拆线图.柱线图.盈亏图)按钮(此处选择"柱形图"),打开"创建迷你图"对话框.如下图: Excel2010 步骤二.利用"位置范围"右侧的折叠按钮,选中显示迷你图表的单元格,单

Word中的阿拉伯数字小技巧

今天总结了一些Word中的阿拉伯数字小技巧供大家参考. 技巧一:将阿拉伯数字转换成大写数字 年终财务总结中的一些数字,按国人的习惯,通常用大写的格式表示,直接输入大写字符吧,比较麻烦.其实,我们可以用转换的方法来解决:直接输入阿拉伯数字(如57689),然后选中它们,执行"插入→数字"命令,打开"数字"对话框(如图1),选中"数字类型"下面的"壹.贰--"(或"一.二--")选项,"确定"