无法在 ExtJS4 中加载组合的存储
Can´t load store of a combo in ExtJS4
加载视图时无法加载商店数据。这是我的商店:(strEstadosMtoOrganismos.js)
Ext.define('TelicitaApp.store.filtros.strEstadosMtoOrganismos', {
extend: 'Ext.data.Store',
model: 'TelicitaApp.model.filtros.mdlEstadosMtoOrganismos',
autoLoad: false,
proxy: {
type: 'ajax',
api: {read: './data/php/filtros/Tmc_EstadosMtoOrganismos.php?despliegue='+TelicitaApp.Settings.despliegue},
reader: {
type: 'json',
root: 'data',
totalProperty: 'total',
successProperty: 'success'
}
}
});
这是我的观点:(viewGridMtoOrganismos.js)
Ext.define('TelicitaApp.view.mantenimientos.organismos.viewGridMtoOrganismos', {
extend: 'Ext.grid.Panel',
alias: 'widget.viewGridMtoOrganismos',
requires: [
],
initComponent: function() {
var toolbar1 = {
xtype : 'toolbar',
dock : 'top',
items: [
{
iconCls:'limpiar-icon', text:'Limpiar', handler: function() {},
},
'->',
{
iconCls:'refresh', text:'Recargar', handler: function() {},
}
]
};
var toolbar2 = {
xtype: 'toolbar',
dock: 'top',
items: [
{text:'<span style="color:#C85E00;">Estado</span>'},
{
xtype: 'combo',
value: 'Todos',
queryMode: 'remote',
triggerAction: 'all',
editable: false,
displayField: 'label',
valueField: 'value',
store: 'filtros.strEstadosMtoOrganismos'
}
]
}
Ext.apply(this, {
frame: true,
bodyPadding: '5 5 0',
fieldDefaults: {
labelAlign: 'top',
msgTarget: 'side'
},
forceFit: true,
height: 300,
stripeRows: true,
loadMask: true,
tbar: {
xtype: 'container',
layout: 'anchor',
defaults: {anchor: '0'},
defaultType: 'toolbar',
items: [
toolbar1,toolbar2
]
},
columns: [
{header:'<span style="color:blue;">Id</span>', xtype: 'numbercolumn',format:'0', width:35, sortable: true},
]
});
this.callParent(arguments);
}
});
这是我的控制器:(ctrlMtoOrganismos.js)
Ext.define('TelicitaApp.controller.ctrlMtoOrganismos', {
extend: 'Ext.app.Controller',
models:[
'mantenimientos.organismos.mdlMtoOrganismos',
'filtros.mdlEstadosMtoOrganismos'
],
stores:[
'mantenimientos.organismos.strMtoOrganismos',
'filtros.strEstadosMtoOrganismos'
],
views: [
'mantenimientos.organismos.viewModuloMtoOrganismos'
],
refs: [
],
init: function() {
this.control({
});
},
onLaunch: function() {
},
});
如果我将存储中的自动加载属性设置为 true,它会在应用程序启动时加载数据。但是我想在加载视图时加载数据。加载视图后,如果我展开组合,它会启动填充组合的 php 文件,但我希望它在加载视图后自动加载数据,而不是在您展开组合时。
替换
this.callParent(arguments);
}
跟
this.callParent(arguments);
this.down('combo').getStore().load();
}
你很好去。
相关文章:
- 组合框是否需要数据存储
- JavaScript算法,提供每种可能的项目组合,并将它们存储在数组中
- 将数据加载到存储后,Extjs组合框为空
- Rally App SDK 2.0rc1-为什么我的组合框只在第一次点击时忽略数据存储过滤器
- ExtJS组合框和过滤存储
- 组合框和绑定存储的存储筛选
- 绑定存储中断组合框
- 构建菜单或组合框,数据存储在“动态”数组中
- 无法在 ExtJS4 中加载组合的存储
- EXT JS :在组合框中,如何为不在存储中的记录设置显示字段
- ExtJS4 组合框加载/存储问题
- extjs4.2组合框只显示存储的唯一条目
- 组合框将不显示加载的存储数据
- EXT-JS组合框'当动态加载数据时,s存储在扩展后重置
- Extjs组合框在存储区未加载任何结果时保持重置文本值
- 如何在ExtJS 4中将存储加载到组合框时发送额外的参数
- 设置extjs 6组合框's在运行时存储数据会导致显示错误
- 如何创建一个通用的ExtJS组合框存储
- ExtJS 6.防止延迟呈现具有本地存储的组合框
- 如何设置一个dojo组合框存储