【问题标题】:Fit columns to content in handsontable使列适合handsontable中的内容
【发布时间】:2017-04-09 15:44:40
【问题描述】:

我是新手,我无法实现像单元格内容一样简单的目标。即使我在可操作的父级中有足够的空间来显示表格的全部内容,某些列也会与某些单元格的内容重叠。

我不想将表格延伸到其父级。只是为了显示完整的表格内容(因为我有足够的空间)。

更新

fap 的答案是对的。

我意识到问题不是来自表格的基本定义,而是来自对单元格的渲染器的定义。

cells: function (row, col, prop) {
    var cellProperties = {};
    if (row === 0) {
        cellProperties.renderer = firstRowRenderer;
    }
 return cellProperties;
}

function firstRowRenderer(instance, td, row, col, prop, value,   cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.style.fontWeight = 'bold';
    td.style.color = 'green';
    td.style.background = '#CEC';
}

它是在应用渲染器之后,当内容不适合可手动操作的单元格并且它不调整大小时。这是我面临的真正问题。

【问题讨论】:

  • 使用我最新的 JSFiddle 中的配置,如果我尝试包含您的单元格定义,它可以正常工作。请参阅此link。您确定问题不是来自其他地方吗?
  • 你是对的。这个问题似乎来自其他地方。
  • 如果可以的话,不要犹豫分享更多你的代码,我很乐意对此做进一步的研究。如果您设法找到问题并自行解决,请随时在下面编辑我的答案。 (或者如果它完全是别的东西,那就换个答案)

标签: handsontable


【解决方案1】:

只是不要为表格和/或列指定任何宽度。 Handsontable 将根据各自单元格中的最长值调整列的大小。

See this simple example.

请注意,如果您编辑值,列会动态调整大小。


但是,如果您的值将列宽扩展得如此之大,以至于您的表格比屏幕宽,该怎么办?好吧,如果您真的不想要那样(并且我假设您不这样做,那么首先分隔列和/或表格有什么意义?),您可以使用选项 preventOverflow :

preventOverflow: 'horizontal',

正如您所看到的in this example,它会自动创建一个导航栏,防止您的表格离开屏幕,但仍会调整列的大小以便查看您的所有数据。

【讨论】:

    猜你喜欢
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 2018-05-11
    • 2019-05-27
    • 1970-01-01
    相关资源
    最近更新 更多