HandonTable setDataAtCell不起作用

我们正在尝试使用HandsonTable构build一个像Table一样的Excel。 出于某种原因,setDataAtCell方法似乎不起作用。 在debugging的时候,我发现这个方法正在正确设置数据,但是在显示表格的时候,并没有显示更新的值。 我可能正在做一些真正的转储。 你的帮助非常深刻。 以下是代码:

container.handsontable({ data: getChemicalData(), minRows: 5, minCols: 6, minSpareRows: 2, minSpareCols: 0, colHeaders: ["<b>TUBE</b>", "<b>A</b>", "<b>B</b>", "<b>C</b>", "<b>D</b>", "<b>Total in Item, grams</b>"], colWidths: [200,50,50,50,50,100], columns: [ { data: "Effect", type: {editor: Handsontable.AutocompleteEditor }, source: ["RD", "SB", "WG"], strict: true }, { data: "A" }, { data: "B" }, { data: "C" }, { data: "D" }, { data: "TotalInGms", readOnly: true } ], cells: function (row, col, prop) { var cellProperties = {}; if ((row === 0 && col === 0) || (row === 1)) { cellProperties.readOnly = true; } return cellProperties; }, onBeforeChange: function (data) { if (data[0][1] !== "Effect") { if (parseInt(data[0][3]) > 0) { } else { return false; } } }, onChange: function (data, source) { if (source === 'loadData') { return; //don't show this change in console } if (isBypass === true) { return; } var sel = $("#example").handsontable('getSelected'); if (sel != null) { if (sel[0] === 0) { var noOfRows = $("#example").handsontable('countRows'); var totalGmsPerItem = 0; var gmsPerTube = 0; for (var i = 2; i < noOfRows; i++) { gmsPerTube = parseInt($("#example").handsontable('getDataAtCell', i, sel[1])); if (gmsPerTube > 0) { totalGmsPerItem = parseInt(totalGmsPerItem) + gmsPerTube * parseInt(data[0][3]); } } var noOfCols = $("#example").handsontable('countCols'); isBypass = true; $("#example").handsontable('setDataAtCell', 3, 2, totalGmsPerItem); //$("#example").handsontable('setDataAtCell', sel[0],sel[1], 19); isBypass = false; } } return; } }); 

来自wiki :

handsontable('setDataAtCell', row, col, value)

将新值设置为单元格。 要一次更改多个单元格,请以格式[[row, col, value], ...]作为唯一parameter passing一组更改。 Col是可见列的索引(请注意,如果列被重新sorting,将使用当前顺序)

你必须下载一个破解版本,就像我没有方法setDataAtRowProp和setDataAtCell接受该方法的参数一样。