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);
};

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

干杯

/莱昂内尔

以上是来客网为你收集整理的ExtJS 4 GridView – 如何获取单元格的td或div?全部内容,希望文章能够帮你解决ExtJS 4 GridView – 如何获取单元格的td或div?所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。