jexcel更新表后我没有得到新值
Posted
技术标签:
【中文标题】jexcel更新表后我没有得到新值【英文标题】:after jexcel update table i am not getting new values 【发布时间】:2020-04-22 08:31:14 【问题描述】:我无法获取新的 jexcel 数据。 当我单击保存测试列数据不起作用时。我必须得到总和 [ [ “本田”, "2", "2", “” ] ] 这是我的代码
var datagrid = jexcel(document.getElementById('my-spreadsheet'),
columns: [
title: 'Model', width: 300,
title: 'Price', type: 'numeric', width: 80,
title: 'Tax', type: 'numeric', width: 100,
title: 'Test', type: 'numeric', width: 100
],
data: [
['Honda']
],
updateTable: function (instance, cell, col, row, val, label, cellName)
if (col == 1)
Price = val;
if (col == 2)
Tax = val;
if (col == 3)
totals = Number(Price) + Number(Tax);
$(cell).text(totals);
);
function save()
var data = datagrid.getJson();
console.log(data, 'data');
我知道有一个公式像 =B1+C1 ... 但是我已经手动输入了网格中的所有行。
实际上它在 jexcel 1.5 版本中按预期工作
【问题讨论】:
什么不起作用? 【参考方案1】:您正在更改单元格的 innerhtml 而不更改数据源对象。您可以使用以下代码解决此问题:
var datagrid = jexcel(document.getElementById('my-spreadsheet'),
columns: [
title: 'Model', width: 300,
title: 'Price', type: 'numeric', width: 80,
title: 'Tax', type: 'numeric', width: 100,
title: 'Test', type: 'numeric', width: 100
],
data: [
['Honda']
],
updateTable: function (instance, cell, col, row, val, label, cellName)
if (col == 1)
Price = val;
if (col == 2)
Tax = val;
if (col == 3)
totals = Number(Price) + Number(Tax);
// Update labels
$(cell).text(totals);
// Update data source
instance.jexcel.options.data[y][x] = totals;
);
【讨论】:
以上是关于jexcel更新表后我没有得到新值的主要内容,如果未能解决你的问题,请参考以下文章