gpt4 book ai didi

javascript - 更新 Handsontable 中的特定单元格

转载 作者:行者123 更新时间:2023-12-04 00:58:11 44 4
gpt4 key购买 nike

是否可以强制只更新一个 td(单元格)以供查看?有一个方法 hot.render(),但它会重新渲染所有单元格。

我想使用 ajax 更新表格内容 JSON 数据 (hot.getData()),但我找不到如何强制渲染表格。我的表太大,每次收到数据时都需要重新呈现。

例如,

$.ajax(url,... ,success: function(d){
var data = hot.getData();
data[parseInt(d['row'],10)][d['col']] = d['value'];
hot.render();//please, change this function into more simple.
},
...
);

是否可以在 [row,col] 处更新 TD-cell?

最佳答案

我同意完整的网格渲染很好,但是有一个缺点。当我们渲染完整的网格时,它会滚动回第 1 行,它不会存储我们在渲染之前的最后一个 View 。我在第 100 行,一旦我渲染网格将返回到第 1 行,现在用户必须再次滚动回到第 100 行,这令人沮丧。

这个问题的任何解决方案。

我发现我们可以使用 hot.selectCell(100,1) 返回到第 100 行,但是我如何以编程方式存储我们在第 100 行中,以便我可以将它设置回该行。

我做了一个 customRendering 来使用下面的代码更改网格的值,但是当我们有大量行要更改时它会出现一些性能问题。

//Below code will render one row ,similarly apply the loop to modify multiple row.

data.Records[i].Values.forEach(function(value, ix) {
hot.setDataAtCell(i, ix, value);
//i is row number , ix is the column number , v is the new value.
}

然而 hot.setDataAtCell(i, ix, v) 是一个昂贵的,所以如果你有大量的行那么它会影响性能。但是好处是它会做自定义(单个/多个)单元格/行在不滚动网格和保留用户 View 的情况下呈现。

附言代替 hot.setDataAtCell,您可以使用 setDataAtRowProp 来设置行的值,但我还没有尝试过。

关于javascript - 更新 Handsontable 中的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33435741/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com