ExtJS Combobox 中Store动态传参数
2009-09-10 07:41
260 查看
ExtJS 中有时需要动态传递除了Page信息外的其它参数问题。
1. 依据不同参数load Store;
use :baseParams 和 Store 的 beforeload事件。
2. 解决key事件;
示例代码,注意红色部分:(此处使用了WCF后台处理,WCFJsonReader请参阅博客园小庄)
var readerSupplier = new Ext.data.WCFJsonReader({
root: 'data', id: 'SupplierID', totalProperty: 'totalCount',
fields: [
{ name: 'SupplierID', type: 'int' },
{ name: 'SupplierName', type: 'string' }
]
});
var _strSupplier = '';
var SupplierStore = new Ext.data.Store({
proxy: new Ext.data.WCFHttpProxy({
url: '/Services.svc/GetSuppliersList'
}),
reader: readerSupplier,
remoteSort: true,
baseParams: { limit: 20, nameparam: _strSupplier } //
});
SupplierStore.on("beforeload", function() {
SupplierStore.baseParams = { nameparam: _strSupplier };
});
comboSupplier = new Ext.form.ComboBox({
store: SupplierStore,
displayField: 'SupplierName',
valueField: 'Supplier',
hiddenField: 'Supplier',
mode: 'local',
triggerAction: 'all',
emptyText: 'Type Supplier Code',
selectOnFocus: true,
value: '',
width: 120,
hideTrigger: true,
applyTo: 'ddlSupplier',
pageSize:20,
onKeyUp: function(e) {
_strSupplier = comboSupplier.getRawValue();
if (_strSupplier == "") return;
var k = window.event.keyCode;
if (k != 37 && k != 38 && k != 39 && k != 40 && k != 13) {
var request = { start: 0, limit:20, nameparam: _strSupplier };
SupplierStore.reload({ params: request });
setTimeout('', 500);
}
}
});
1. 依据不同参数load Store;
use :baseParams 和 Store 的 beforeload事件。
2. 解决key事件;
示例代码,注意红色部分:(此处使用了WCF后台处理,WCFJsonReader请参阅博客园小庄)
var readerSupplier = new Ext.data.WCFJsonReader({
root: 'data', id: 'SupplierID', totalProperty: 'totalCount',
fields: [
{ name: 'SupplierID', type: 'int' },
{ name: 'SupplierName', type: 'string' }
]
});
var _strSupplier = '';
var SupplierStore = new Ext.data.Store({
proxy: new Ext.data.WCFHttpProxy({
url: '/Services.svc/GetSuppliersList'
}),
reader: readerSupplier,
remoteSort: true,
baseParams: { limit: 20, nameparam: _strSupplier } //
});
SupplierStore.on("beforeload", function() {
SupplierStore.baseParams = { nameparam: _strSupplier };
});
comboSupplier = new Ext.form.ComboBox({
store: SupplierStore,
displayField: 'SupplierName',
valueField: 'Supplier',
hiddenField: 'Supplier',
mode: 'local',
triggerAction: 'all',
emptyText: 'Type Supplier Code',
selectOnFocus: true,
value: '',
width: 120,
hideTrigger: true,
applyTo: 'ddlSupplier',
pageSize:20,
onKeyUp: function(e) {
_strSupplier = comboSupplier.getRawValue();
if (_strSupplier == "") return;
var k = window.event.keyCode;
if (k != 37 && k != 38 && k != 39 && k != 40 && k != 13) {
var request = { start: 0, limit:20, nameparam: _strSupplier };
SupplierStore.reload({ params: request });
setTimeout('', 500);
}
}
});
相关文章推荐
- ExtJS中如何根据combobox的选值,动态地决定组件的显隐?
- Extjs combobox动态加载的实例
- Extjs中的combobox的动态加载问题
- extjs Combobox动态加载数据问题,mode:local 还是remote
- 【ExtJs】ExtJs下gridpanel中ComboBox数据动态加载问题
- extjs 下拉列表ComboBox动态向后天获取数据
- extjs中grid中嵌入动态combobox的应用
- extjs中grid中嵌入动态combobox的应用
- Extjs ComboBox 动态选中第一项
- extjs中grid中嵌入动态combobox的应用
- ExtJs-简单动态ComboBox
- extjs中grid中嵌入动态combobox的应用
- ExtJs ComboBox 动态创建下拉框
- extjs iframe动态传输参数
- EXTJS中Store动态传递URL和参数
- extjs Combobox动态加载数据问题,mode:local 还是remote
- EXTJS下拉树ComboBoxTree参数提交及回显方法
- Extjs 动态加载ComboBox数据
- ExtJS 4中动态加载的路径设置