Extjs 几个方法的讨论
程序员文章站
2022-06-17 18:30:33
相信大家在做extjs开发的时候都使用过类似下面的代码: 复制代码 代码如下: var form_pz = new ext.form.formpanel({...
相信大家在做extjs开发的时候都使用过类似下面的代码:
var form_pz = new ext.form.formpanel({
id: "form_pz",
region: "center",
labelalign: "right",
lazyrender: true,
frame: true,
items: [{
xtype: "combo",
fieldlabel: "产品名称",
id: "cpmc",
allowblank: false,
store: new ext.data.simplestore({//store的定义}),
displayfield: "cpmc_bbh",
valuefield: "id",
anchor: "100%",
mode: "local",
triggeraction: "all",
readonly: true,
typeahead: true,
}]
});
var data = [];//里面定义任意数据
ext.getcmp("store_id").load(data);
此时对这个下拉框以下操作的时候,即让它默认选中store中第一行数据:
var record= ext.getcmp("cpmc").getstore().getat(0);
var value = record.get("id");
ext.getcmp("cpmc").setvalue(value);
以上是主要程序,这样运行以后,下拉框是不会自动选中的,
然而把store单独拿出来定义:
var strore_cpmc = new ext.data.simplestore({//定义});
strore_cpmc.load(data);
var record= ext.getcmp("cpmc").getstore().getat(0);
var value = record.get("id");
ext.getcmp("cpmc").setvalue(value);
下拉框就会自动选择store中的第一行数据,其实在其他的方法也存在类似的问题,不知道这是什么原因。望各位朋友指教。
复制代码 代码如下:
var form_pz = new ext.form.formpanel({
id: "form_pz",
region: "center",
labelalign: "right",
lazyrender: true,
frame: true,
items: [{
xtype: "combo",
fieldlabel: "产品名称",
id: "cpmc",
allowblank: false,
store: new ext.data.simplestore({//store的定义}),
displayfield: "cpmc_bbh",
valuefield: "id",
anchor: "100%",
mode: "local",
triggeraction: "all",
readonly: true,
typeahead: true,
}]
});
var data = [];//里面定义任意数据
ext.getcmp("store_id").load(data);
此时对这个下拉框以下操作的时候,即让它默认选中store中第一行数据:
复制代码 代码如下:
var record= ext.getcmp("cpmc").getstore().getat(0);
var value = record.get("id");
ext.getcmp("cpmc").setvalue(value);
以上是主要程序,这样运行以后,下拉框是不会自动选中的,
然而把store单独拿出来定义:
复制代码 代码如下:
var strore_cpmc = new ext.data.simplestore({//定义});
strore_cpmc.load(data);
var record= ext.getcmp("cpmc").getstore().getat(0);
var value = record.get("id");
ext.getcmp("cpmc").setvalue(value);
下拉框就会自动选择store中的第一行数据,其实在其他的方法也存在类似的问题,不知道这是什么原因。望各位朋友指教。