[英]How to get row elements from extjs 4.2 grid
我在Extjs 4.2中有一个网格,我需要获取行元素,以便我可以比较行值,然后在特定行上调用.addCls()。 我试过.getNodes()但我不能在节点上调用.addCls()。
我已经使用表单字段执行此操作,但我也需要使用网格行:
myForm.getForm().getFields().items[i].getEl().dom
更新:这是我正在使用表单字段,我需要做一些类似网格单元格。 最初,我说我需要在网格行中添加一个类,但实际上我需要在网格单元格中添加一个类。
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';
}
}
}
});
请检查这个小提琴 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.