1

我正在使用SpreadJS,每当对象(电子表格)发生更改时,我都需要触发一个事件,以便将其中的所有数据发送到服务器:

function (){
    var spread = $("#ss").wijspread("spread");
    var activeSheet = spread.getActiveSheet();

    activeSheet.bind($.wijmo.wijspread.Events.EditEnd, function (sender, args) {
        var dados = JSON.stringify(spread.toJSON());
        console.log(dados);
        $.ajax({
            // ...  
        });
    });
}

“dados”中的数据包括电子表格中的所有内容,除了最后更改的单元格。如何解决这个问题?

我试图将其包含在事件处理程序中,但结果是相同的:

var spread = $("#ss").wijspread("spread");
4

3 回答 3

0

在电子表格顶部创建一个按钮,然后在电子表格中输入您的所有数据,单击按钮,然后您会以 json 格式获取您想要的所有数据...

    $("#button1").click(function(){
  var dados = JSON.stringify(spread.toJSON());
console.log(dados);});
于 2014-06-06T10:58:40.953 回答
0

使用ValueChanged事件

var spread = $("#ss").wijspread("spread");
var activeSheet = spread.getActiveSheet();

activeSheet.bind($.wijmo.wijspread.Events.ValueChanged, function (sender, args) {
    console.log(JSON.stringify(spread.toJSON()));
});
于 2016-01-20T12:57:00.660 回答
0

您可以使用“ValueChange”或其他事件并使用“arg”来获取更改。
例如:arg.newValue将获取此单元格的最后更改,arg{row, col}将获取更改的单元格位置。希望这会帮助你。
这是 SpreadJS 中的事件:
http : //wijmo.com/docs/spreadjs/API/symbols/ $.wijmo.wijspread.Events.html

    activeSheet.bind($.wijmo.wijspread.Events.ValueChanged, function (e, arg) { 
        var r = arg.row;   
        var c = arg.col; 
        var v = arg.newValue;
        $.ajax({
        // ...
        });                                 
    });
于 2016-01-11T15:03:49.377 回答