如何从extjs 4.2网格获得行元素

How to get row elements from extjs 4.2 grid

本文关键字:元素 网格 extjs      更新时间:2023-09-26

我在Extjs 4.2中有一个网格,我需要得到行元素,这样我就可以比较行值,然后在特定的行上调用。addcls()。我已经尝试过。getnodes(),但我不能在节点上调用。addcls()。

我已经这样做与表单字段,但我需要做与网格行了:

myForm.getForm().getFields().items[i].getEl().dom

UPDATE:这就是我正在做的表单字段,我需要做一些类似的网格单元格。最初,我说我需要添加一个类到网格行,但实际上我需要添加一个类到网格单元格。

var myFormAItems = myFormA.getForm().getFields().items;
var myFormBItems = myFormB.getForm().getFields().items;
for (i = 0; i < prodItems.length; i++) {
   if (myFormAItems[i].getEl().dom.textContent != myFormBItems[i].getEl().dom.textContent) {
        myFormAItems[i].addCls('highlightDiff');
   };
}

您想要的可以使用grid.getView().getNodes()来获得网格的行,然后使用query()来获得<td>标签。

如果你只需要应用自定义类,这更简单:

您可以为网格中的每一行添加CSS类,覆盖网格视图中的getRowClass()函数。在网格配置中使用viewConfig选项。

Ext.create('Ext.grid.Panel', {
    // other options
    viewConfig: {
        getRowClass: function(record, rowIndex, rowParams, store){
            if (record.get('property') == 'value'){
                return 'my-custom-class';
            }
        }
    }
});

请检查这个小提琴