jqGrid可以使用偏移量进行排序

时间:2015-08-18 08:29:13

标签: javascript jquery jquery-ui jqgrid jquery-ui-sortable

我一直在使用以下脚本在jQGrid中拖放并将订单保存到数据库。一旦更改了行的顺序,它将从1开始对整个网格进行排序,并以更新的顺序重新加载网格。现在我需要一个修改过的功能。

jQuery(grid_selector).jqGrid('sortableRows', {
    items: '.jqgrow:not(.unsortable)',
    update : function(e,ui) {
    var lista = jQuery(grid_selector).getDataIDs();
    var idArray = new Array();

    for (i=0; i < lista.length; i++) {
        var rowData=jQuery(grid_selector).getRowData(lista[i]);
        var valArray = {
            uuid: rowData.uuid,
            prize_order: i + 1
        }
        idArray.push(valArray);
    }
    var jsonString = JSON.stringify(idArray);

    $.ajax({
        url: "myurl/update_function",
        type: 'POST',
        data: {display_order_array : jsonString}, 
    })
    .done(function() {

        $(grid_selector).trigger('reloadGrid');
        var tId;
        $("#messageDiv").html('<p class="alert alert-success">Order modified successfully</p>');
        $("#messageDiv").hide().slideDown();
        clearTimeout(tId);
        tId = setTimeout(function(){
          $("#messageDiv").hide();        
        }, 3000);
    })
    .fail(function() {
        grid_selector.trigger('reloadGrid');
        var tId;
        $("#messageDiv").html('<p class="alert alert-danger">There is some issues in modifying order !!</p>');
        clearTimeout(tId);
        tId = setTimeout(function(){
          $("#messageDiv").hide();        
        }, 3000);

    })

    }
});

当我订购一个从80开始的订单的清单时,它需要从80而不是从1开始订购。另外,如果我交换两行,比如说85和90,那么只需要重新订购85行和它不应该影响80到85之间的行的顺序。

0 个答案:

没有答案