掌握自定义对象数据

时间:2015-07-22 12:58:57

标签: object handsontable

我正在尝试用对象填充Handsontable。 例如:

-bash-4.1$ make
g++ -I/opt/AMDAPP/include/  -c -g main.cpp OpenCL.cpp
g++ main.o OpenCL.o -L/opt/AMDAPP/lib/x86_64/ -lOpenCL -o pathfinder
main.o: In function `main':
/home/others/natasha/sac/rodinia_3.0/opencl/pathfinder/main.cpp:149: undefined reference to `clock_gettime'
/home/others/natasha/sac/rodinia_3.0/opencl/pathfinder/main.cpp:181: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make: *** [a.out] Error 1

现在我希望Handsontable只将title属性呈现为单元格而不是样式。 style属性用于渲染具有特殊fomatting的单元格。 如何告诉Handsontable仅使用title属性?

2 个答案:

答案 0 :(得分:1)

指法数据并非旨在为单元格提供样式。要定义单元格样式,我建议您使用此链接

http://docs.handsontable.com/0.15.1/demo-conditional-formatting.html

但如果您的想法是隐藏列,例如代码,我会留下这个例子

<script>

var options = {
 columns: CutObject(data)
}

function CutObject(data){
 return data.slice(1);//hide firt column
}

</script>

答案 1 :(得分:1)

var data = [
    [{title: 'A1', style: '...'}, {title: 'B1', style: '...'}],
    [{title: 'A2', style: '...'}, {title: 'B2', style: '...'}],
];

var filterArrays = function (arys) {
    let ret = [];
    for (let i = 0; i < data.length; i++) {
        let ary = [];
        for (let j = 0; j < data[i].length; j++) {
            ary.push(data[i][j].title);
        }
        ret.push(ary);
    }
    return ret;
}

var titles = filterArrays(data);

这里的标题可能是

titles = [
    ['A1', 'B1'],
    ['A2', 'B2']
];

因此,您可以将标题用作数据。并为每个细胞设置细胞样式,请检查以下内容。

hot = new Handsontable(container, {
    data: titles,
    ...
    cells: function (row, col, prop) {
        cellProperties.renderer = function (instance, td, row, col, prop, value, cellProperties) {
            Handsontable.renderers.TextRenderer.apply(this, arguments);
            td.style = data[row][col].style;
        };
    },
    ...
});