gpt4 book ai didi

jquery - Handsontable 在编辑后刷新除编辑单元格之外的整个列

转载 作者:行者123 更新时间:2023-12-03 22:42:26 25 4
gpt4 key购买 nike

我有一个 Handsontable 如下:

ordertable = new Handsontable(container, {
data: data,
colHeaders: ['Customer', 'Mode', 'Remarks', 'Due', 'Recieved'],
columns: [{
data: 2,
readOnly: true
}, {
data: 6,
type: 'autocomplete',
source: collectionmethod,
validator: collectionmethod_validations,
strict: true
}, {
data: 5,
readOnly: false
}, {
data: 4,
readOnly: true,
type: 'numeric',
format: '0.00'
}, {
data: 3,
type: 'numeric',
format: '0.00',
validator: amt_validations,
allowInvalid: true
}],
minSpareRows: 0,
rowHeaders: true,
contextMenu: ['row_above', 'row_below', 'remove_row', 'undo', 'redo'],
colWidths: [150, 100, rest, 100, 100],
autoWrapRow: true,
autoWrapCol: true,
beforeRemoveRow: removerow_validation

});

我有一个复选框。当我单击复选框时,Due(第四列)的值应填充到“已收到”(列)。如果我取消选中它,则 Received 应为空白,与表加载相同。

我所做的事情如下:

$("#sel_prefill").click(function() {
if ($("#sel_prefill:checked").val()) {
var g = $('.htCore').find('tbody tr td:nth-child(5)'); //Due
var f = $('.htCore').find('tbody tr td:nth-child(6)') // Recieved
g.each(function(i, v) {
f.eq(i).text(g.eq(i).text());
$(v).css({
'text-align': 'right'
});
});
} else {
var g = $('.htCore').find('tbody tr td:nth-child(5)'); //Due
var f = $('.htCore').find('tbody tr td:nth-child(6)') // Recieved
g.each(function(i, v) {
f.eq(i).text("");
//$container.handsontable('setDataAtCell', 1, 4, 5);
$(v).css({
'text-align': 'right'
});
});
}
});

工作正常。

但问题是,在检查复选框后,4 列的值被填充到第 5 个。但是如果我编辑第 5 列中的任何单元格,则除编辑的单元格之外的整个列都会刷新,并且第 5 列将变为空白。

如何避免它。

请参阅图片了解步骤详细信息:

STEP 1

STEP 2

STEP 3

如何避免编辑后刷新单元格?

最佳答案

出现问题是因为我将行值更改为另一个值后需要更新数据数组。当我更改内容时,它只会在屏幕上发生变化。当我编辑单元格时,它将调用渲染函数,并且它将采用旧的数据数组,这就是它显示没有值的列的原因。

这是我的解决方案:

如果:

g.each(function(i, v) {
f.eq(i).text(g.eq(i).text());
data[i][3] = g.eq(i).text(); //Need to update the array also
});

在其他方面:

g.each(function(i, v) {
f.eq(i).text("");
data[i][3] = ""; //Need to update the array also
});

关于jquery - Handsontable 在编辑后刷新除编辑单元格之外的整个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35549613/

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