我有一个网格面板,它显示数据库表的值。我想知道如何获得记录的行索引,例如字段名称为“COMPANY”且字段值为“a”。
grid = new Ext.grid.GridPanel({
id:'users_gridpanel',
region:'center',
loadMask: {msg:"${tr.Loading}..."},
store: gridStore,
tbar:tlb,
cm: colModel,
stripeRows: true,
sm: _selctionModel,
plugins: [filters],
bbar:paging,
viewConfig:
{
forceFit: true,
headersDisabled:false
},
});
答案 0 :(得分:1)
使用商店的findBy()
方法(或each()
,但filterBy
已获取记录的ID作为第二个参数),例如
var ids = [];
myStore.findBy(
function(record, id) {
if(record.get('COMPANY') === 'a') {
ids.push(id);
}
// return false so we continue loop through store data
return false;
},
// Pass scope if needed
this
);
ids
数组将包含所有匹配的记录ID
答案 1 :(得分:0)
返回第一个匹配的索引(如果可用),如果不可用则返回-1。
var index = gridStore.find('COMPANY', 'a');