Extjs4 无法在EXTJS中填充组合框标签
我使用的是ExtJS4.2,我的页面上有一个组合框字段。当我更新此页面时,我需要在组合框中显示所选值。如果我使用静态数据,它将正常工作,但当我从数据库加载数据时,数据会出现,但它会显示所选组合框的值(而不是标签) 我已经使用组合框的Extjs4 无法在EXTJS中填充组合框标签,extjs4,extjs4.2,Extjs4,Extjs4.2,我使用的是ExtJS4.2,我的页面上有一个组合框字段。当我更新此页面时,我需要在组合框中显示所选值。如果我使用静态数据,它将正常工作,但当我从数据库加载数据时,数据会出现,但它会显示所选组合框的值(而不是标签) 我已经使用组合框的select方法完成了这项工作,但是我需要迭代存储以获得所选的值。存储值不是从1开始,而是从100开始,组合框的select方法使用列表的索引 下面是您可以检查的代码,但这不适用于多个组合框 var specilizationComboBox = Ext.getCmp
select
方法完成了这项工作,但是我需要迭代存储以获得所选的值。存储值不是从1开始,而是从100开始,组合框的select
方法使用列表的索引
下面是您可以检查的代码,但这不适用于多个组合框
var specilizationComboBox = Ext.getCmp("doctorMasterVO.specilizationFkId");
var specilizationValue = 0;
specilizationStore.each(function (record) {
if (record.get('value') != dataRead.dataVO.doctorMasterVO.specilizationFkId) {
specilizationValue = specilizationValue + 1;
}
else {
return false;
}
});
specilizationComboBox.select(specilizationComboBox.store.data.items[specilizationValue]);
请告诉我还有其他方法可以做到这一点,因为迭代整个商店不是一个好主意。查看以下方法: 基本上你想做的是这样的:
var myId = dataRead.dataVO.doctorMasterVO.specilizationFkId;
var record = store.findRecord("id", myId);
specilizationComboBox.select(record);
其中“id”是您试图在商店中查找匹配项的字段的名称。
请注意,如果记录不存在或存储未正确加载,myRecord可能为null
要确保存储已加载,可以在加载处理程序中执行上述代码:
specilizationComboBox.getStore().load({
scope: this,
callback: function(records, operation, success) {
//code goes here
}
});
如果不确定存储是否已加载,可以检查该方法