【问题标题】:Copying rendered value instead of the data value复制渲染值而不是数据值
【发布时间】:2018-04-26 13:18:41
【问题描述】:

我使用 Handsontable,在一列中,数据类型是一个整数,它是字符串向量 v 的索引。因此,我必须显示 v[i],而不是显示整数索引 i。我通过在 handsontable 中声明一个自定义渲染器来做到这一点:

var annotationTableSettings = {
        data: componentAnnotation,
        columns: [
            {renderer: annotationId2StringRenderer},
             ...

但是,当我复制单元格的值(Windows/linux 中的 Ctrl+c 或 mac 中的 cmd+c)时,复制的是整数而不是渲染的值。有谁知道如何复制渲染值(我想保留整数数据类型和自定义渲染器)。

可以在这里看到一个例子:http://leoisl.gitlab.io/DBGWAS_support/full_dataset_visualization_0_4_6/components/comp_2.html 只需复制第一个表(在北面板中)第一行的第一个单元格 - 值为“(Phe)CML”的单元格,您将复制值 3,而不是“(Phe)CML”本身。

提前致谢!

【问题讨论】:

    标签: handsontable


    【解决方案1】:

    您可以使用beforeCopy 挂钩。

    var annotationTableSettings = {
        data: componentAnnotation,
        beforeCopy: data => {
            for (let i = 0; i < data.length; i++) {
                for (let j = 0; j < data[i].length; j++) {
                    if (!isNaN(data[i][j])) {
                        data[i][j] = v[data[i][j]]
                    }
                }
            }
        }
        columns: [
            {renderer: annotationId2StringRenderer},
            ...
    

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 2021-02-12
      • 2014-11-16
      • 2022-10-24
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 2013-06-18
      • 2018-04-22
      相关资源
      最近更新 更多