在ExtJS4.0中,加载Store前添加查询参数。
在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();
});
在ExtJS4.0中,加载Store前添加查询参数。
https://www.dearcloud.cn/2013/04/07/20200310-cnblogs-old-posts/20130407-在ExtJS4.0中,加载Store前添加查询参数。/