HandsonTable通过从ajax加载来对数据进行排序

时间:2015-10-05 16:41:09

标签: javascript php jquery ajax handsontable

我尝试使用Handsontable插件,并希望使用ajax对表上的数据进行排序。

当我使用columnSorting: true时,只对视图进行排序,我更新它会出错索引行。

任何人都知道如何从php中对数据进行排序,然后在表格排序后显示数据结果?

$container.handsontable({ 
  colHeaders: header(),//["Title", "Description", "Comments"],
  data : data(),
  //startRows: 3,
  columnSorting: true,
  startCols: 20,
  rowHeaders: true,
  colHeaders: true,
  minSpareRows: 1,
  contextMenu: true,
  copyRowsLimit: 100000,
  beforeChange: function (change, source) {
    if (source === 'loadData') {
        return; //don't save this change
    }
    if ($('input[name=autosave]').is(':checked')) {
        $("#dataconsole").html("<p>Please wait ...</p>").hide().fadeIn("slow"); 
      clearTimeout(autosaveNotification);
      $.ajax({
        url: "../php/save_auto.php?cmid=<?php echo $com_id;?>",
        type: "POST",
        data: {"changes": change}, //contains changed cells' data
        success: function (data) {
          $("#dataconsole").text('Autosaved (' + change.length + ' cell' + (change.length > 1 ? 's' : '') + ')');
          if(source !== 'program'){
            // reset current cell
            $( "td:contains('=')").text(data);
          } 
        }//complete
      });
    }//checked
  }//change
});

1 个答案:

答案 0 :(得分:0)

您可以做的是禁用排序插件,点击标题后,使用数据和排序参数向您的后端发送请求。在那里做任何你想要的排序,然后在你的data上返回新的updateSettings对象和hotInstance,如下所示:

hotInstance.updateSettings({
    data: newData
})

有了这个,你应该去。