ExtJS 4 GridView – 如何获取单元格的td或div?

在GridPanel中,我们都知道我们可以在列配置中指定渲染器以具有自定义单元格.现在有一个特殊的情况,我需要建立一个自定义的视觉进度条(画布),以绘制到一个单元格,我的问题是如何获得细胞的el?

在渲染器回调中,可用值包括value,Metadata,record,rowIndex,columnIndex,store和view.我已经尝试过view.getNode或view.getCell但没有运气.

提前谢谢你!

/莱昂内尔

编辑

经过一些进一步的挖掘后,我意识到我的节点在调用渲染器时实际上还没有准备好,也就是说,view.getNode和view.getCell实际上正在工作,但是延迟了(它一直返回null)

解决方法是使用setTimeout并在节点准备好后呈现元素.这绝对不是处理案件的最佳方式.无论如何欢迎任何建议:)

/莱昂内尔

解决方法

事实证明,这个问题的答案是使用setTimeout模拟一些延迟,以便在延迟一段时间后正确添加节点.

这是我的渲染器

renderer = function (v,Meta,rec,r,c,store,view) {

    setTimeout(function() {
        var row = view.getNode(rec);

        //Capturing the el (I need the div to do the trick)
        var el = Ext.fly(Ext.fly(row).query('.x-grid-cell')[c]).down('div');

        //All other codes to build the progress bar
    },50);
};

丑陋,但它的工作原理.如果没有其他答案,我会在接下来的两天内接受它作为有效答案.

干杯

/莱昂内尔

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...