2

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

4

3 回答 3

2

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

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

请参阅DGrid wikirenderHeaderCell()中的函数文档:

renderHeaderCell(node)

将调用以呈现列的标题单元格的可选函数。与 renderCell 一样,这可以直接对节点进行操作,也可以返回要放置在其中的节点。

于 2013-08-20T10:27:54.583 回答
0

使用put-selector

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

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

于 2013-12-18T18:49:06.530 回答
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;
}
于 2017-09-27T20:11:37.493 回答