如何将html标签放在标签列中?

时间:2013-08-20 09:12:15

标签: dojo

我使用dgrid制作一个简单的网格(http://dojofoundation.org/packages/dgrid/tutorials/defining_grid_structures/)。 我的问题很简单:如何将html标签放在标签列的标题栏中?因为如果我放一个img标签,例如,label包含字符串img src = ... 感谢

3 个答案:

答案 0 :(得分:2)

列定义可以提供构建列标题的函数。

var column = {
    //...
    renderHeaderCell: function(node) {
        domConstruct.create('img', {src: ''}, node);
        return node;
    }
};

请参阅DGrid wiki中的renderHeaderCell()功能文档:

  

renderHeaderCell(node)

     

将调用一个可选函数来呈现列的标题   细胞。像renderCell一样,这可能直接在节点上运行,   或者返回一个放在其中的节点。

答案 1 :(得分:0)

使用put-selector的单行答案:

renderHeaderCell: function(node) {
    return put("img[src=/your/image]");
}

请注意,如果您的列恰好是选择器,此功能将无效 - 因为selector.js定义了自己的renderHeaderCell(node)功能。

答案 2 :(得分:0)

@craig感谢您的回答,在我的情况下,我只需要知道如何将HTML添加到标题单元格中,而renderHeaderCell(node)绝对是答案。

对于其他任何人只需要在标题单元格中添加<br><span><div>等,这里有几个简单的例子可供比较:

不使用renderHeaderCell(node)的示例:

{
    label: 'Title',
    field: appConfig.fields[0],
    sortable: false
}

使用renderHeaderCell(node)的示例:

{
    renderHeaderCell: function(node) {
        node.innerHTML = '<span class="headerCell">Title<br><br></span>'
    },
    field: appConfig.fields[0],
    sortable: false
}

然后您可以正常使用CSS进行定位:

.headerCell {
    font-size: 9px;
}