gpt4 book ai didi

extjs4.1 - 如何在 extjs 4.1 中使用 grid.getSelectionModel().select(Indexes) 选择多行

转载 作者:行者123 更新时间:2023-12-02 09:35:05 25 4
gpt4 key购买 nike

我想使用 extjs 4.1 中的 grid.getSelectionModel().select(Indexes) 选择多行 有人知道该怎么做吗?? 这是我的代码:

var grid = Ext.getCmp('GridStudents');
var fieldvalues = '2054,2055,2057';
var arr = fieldvalues.split(',');

for (var j = 0; j < arr.length; j++)
{
index = grid.store.find('StudentID', arr[j]);
grid.getSelectionModel().select(j);
}

最佳答案

首先,您的选择模型必须具有模式 MULTISIMPLE

然后,当您想要选择一个 block 中的一堆记录时,可以使用方法selectRange(startRow, endRow)

您还可以使用选择并传递记录数组或使用索引进行一一选择。

这两个函数都接受另一个参数keepExisting。设置为 true 时,将保留现有选择(顾名思义)。

此外,您还可以将 j 传递给 select 方法,而不是 index

最简单的修复方法是:

for (var j = 0; j < arr.length; j++) 
{
var index = grid.store.find('StudentID', arr[j]);
grid.getSelectionModel().select(index, true);
}

如果您的模型配置为多项选择,它应该可以工作。

fiddle :http://jsfiddle.net/7ofLb3Ls/3/

作为替代方案,您可以尝试以下代码:

var grid = sender.up('grid');
var fieldvalues = '2054,2055,2057';
var arr = fieldvalues.split(',');
var records = Ext.Array.filter(
grid.store.data.items,
function(r) {
return arr.indexOf(''+r.get('StudentID')) !== -1;
}
);
grid.getSelectionModel().select(records);

fiddle :http://jsfiddle.net/7ofLb3Ls/4/

关于extjs4.1 - 如何在 extjs 4.1 中使用 grid.getSelectionModel().select(Indexes) 选择多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com