如何使用dataIndex Extjs 4查找列索引

Hmx*_*hal 11 javascript extjs extjs4

在ExtJS 3中我使用了以下代码:

grid.getColumnModel().findColumnIndex("Tasks")

我试图寻找它的API文档,但没有运气...所以怎么IR可能,我可以按列或列的标题名称的dataIndex找到网格的列索引.

Mur*_*rah 31

您可以使用组件查询:

var fname = grid.down('[dataIndex=firstname]');
Run Code Online (Sandbox Code Playgroud)

这需要一段时间才能完成 - 在文档中似乎没有一个例子.;-)


Krz*_*tof 8

我猜你应该通过遍历grid.columns数组并比较dataIndex每列的属性来找到索引.

例:

var findColumnIndex = function(columns, dataIndex) {
    var index;
    for (index = 0; index < columns.length; ++index) {
        if (columns[index].dataIndex == dataIndex) { break; }
    }????????
    return index == columns.length ? -1 : index;
}


console.log(findColumnIndex(grid.columns, 'Task'));
console.log(findColumnIndex(grid.columns, 'Something'));
Run Code Online (Sandbox Code Playgroud)

  • 而不是`grid.columns`使用`grid.columnManager.columns`.这样,如果重新排序列,您的函数将返回正确的索引. (4认同)