在ExtJS4.0中,加载Store前添加查询参数。

 

 

在ExtJS4.0中,怎么添加其它参数来实现自动加载Model中数据时对数据的筛选呢。呵呵,下面有解了:

grid.getStore().getProxy().extraParams = { operate: 'searchCase', 'type': searchType.getValue(), 'startDate': sDate, 'text': searchText.getValue() };

部分代码(摘自《物证流转系统》):

 var grid = Ext.create("Ext.grid.Panel", {
                store: Ext.data.StoreManager.lookup("caseStore"),
                columns: {
                    items: [
                            { text: '案件编号', dataIndex: 'CaseId', hidden: true },
                            { text: '案件名称', dataIndex: 'CaseName', width: 200 },
                            { text: '案发时间', dataIndex: 'CaseTime', xtype: 'datecolumn', format: 'Y-m-d', width: 190, align: 'center' },
                            { text: '案发地点', dataIndex: 'CaseAddress', width: 300 },
                            { text: '单位编号', dataIndex: 'CaseAddress' },
                            { text: '现场勘查号', dataIndex: 'ExplorationNo', width: 150, align: 'center' }
                    ],
                    defaults: {}
                },
                forceFit: false,
                enableLocking: true
            });
            var pagingToolbar = {
                xtype: 'pagingtoolbar',
                store: Ext.data.StoreManager.lookup("caseStore"),
                displayInfo: true,
                flex: 1
            }

            var searchStartTime = Ext.create('Ext.form.field.Date', {
                flex: 3, maxValue: new Date(), format: 'Y-m-d',
                emptyText: '起始案发日期...'
            });
            var searchEndTime = Ext.create('Ext.form.field.Date', {
                flex: 3, maxValue: new Date(), format: 'Y-m-d',
                emptyText: '终止案发日期...'
            });

            var searchType = Ext.create('Ext.form.ComboBox', {
                labelWidth: 70,
                store: Ext.data.StoreManager.lookup("searchTypeCaseStore"),
                queryMode: 'local',
                valueField: 'type',
                displayField: 'name',
                flex: 3,
                labelAlign: 'right',
                editable: false,
                emptyText: '选择查找类型...'
            });
            var searchText = Ext.create('Ext.form.Text', {
                flex: 4,
                emptyText: '输入匹配值后按Enter键...',
                listeners: {
                    specialkey: function (field, e) {
                        if (e.getKey() == e.ENTER) {
                            searchBtn.fireEvent("click");
                        }
                    }
                }
            });
            var searchBtn = Ext.create('Ext.button.Button', {
                text: '搜索',
                width: 80
            });

            var panel = Ext.create('Ext.panel.Panel', {
                bodyPadding: 0,
                layout: 'fit',
                bbar: [pagingToolbar],
                tbar: [searchStartTime, searchEndTime, searchType, searchText, searchBtn],
                items: [grid],
                collapseDirection: 'left'
            });

            //过滤处理
            searchBtn.on("click", function () {
                if (!searchType.getValue()) { searchType.setValue("CaseName"); }
                var sDate = searchStartTime.getValue();
                var eDate = searchEndTime.getValue();
                if (sDate) {
                    if (eDate) {
                        grid.getStore().getProxy().extraParams = { operate: 'searchCase', 'type': searchType.getValue(), 'startDate': sDate, 'endDate': eDate, 'text': searchText.getValue() };
                    } else {
                        grid.getStore().getProxy().extraParams = { operate: 'searchCase', 'type': searchType.getValue(), 'startDate': sDate, 'text': searchText.getValue() };
                    }
                } else {
                    if (eDate) {
                        grid.getStore().getProxy().extraParams = { operate: 'searchCase', 'type': searchType.getValue(), 'endDate': eDate, 'text': searchText.getValue() };
                    } else {
                        grid.getStore().getProxy().extraParams = { operate: 'searchCase', 'type': searchType.getValue(), 'text': searchText.getValue() };
                    }
                }


                grid.getStore().load();
            });

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值