将元素添加到网格单元格,Ext样式

时间:2014-08-21 13:01:19

标签: extjs

我有一个网格,我将活动的dom内容添加到每个单元格中。截至目前,我将其添加为列渲染器中的html文本:

renderer:function(data) {
    str = "";
    Ext.each(data,function(paragraph,i) {
        str += '<div onclick="Ext.getCmp(\'grid\').paragraphClick('+paragraph.get("Id")+');">'+paragraph.get("Text")+'</div>'
    });
    return str;
}

我应该提到data是一个包含另一个记录列表的记录字段。 现在,我想你会称之为你见过的最糟糕的ExtJS代码&#34;。这很公平。

但是,如何使用Ext元素和侦听器以符合ExtJS的方式执行此操作?

1 个答案:

答案 0 :(得分:1)

使用cellclick事件,然后检查目标:

renderer: function(v) {
     return '<div class="foo">' + v + '</div>';
}

listeners: {
    cellclick: function(view, td, cellIndex, record, tr, rowIndex, e) {
        if (e.getTarget('.foo') {
            // clicked on foo, use record data to give you context
        }
    }
}