Получить обновленные данные сетки с помощью JQGrid

Я использую jqGrid framework для отображения данных сетки. Есть две сетки, и данные будут перетаскиваться из сетки 1 в сетку 2 и из сетки 2 в сетку 1. Я хочу получить обновленные данные сетки 2 после удаления или добавления некоторых элементов в сетку. Пожалуйста, помогите мне. Я новичок в этой структуре.

код:

HMTL:

<input id="updateName" type="button" onclick="updateName();" value="Update">

function updateName(){
    var selectedData = $("#jqGrid2").jqGrid("getGridParam", "data");
    var selData = $.map(selectedData, function (item) { return item.selectedData; });

....
}

colmodel:

jQuery("#jqGrid2").jqGrid({ 
                    datatype: "local",
                    data: datagrid2,
                    rowNum :200,
                    width : 450,
                    height: 100, 
                    shrinkToFit: false,
                    forceFit: true,
                    colModel: [
                        { label: 'Student Name', name: 'selectedData', index: 'selectedData', width: 450, align: 'left'}
                    ],
                    gridComplete: function(){
                                        jQuery('.ui-jqgrid-bdiv').css({'height':'200px', 'max-height':'200px'});    
                        jQuery('.ui-th-column').css({'background':'#F2F2F2','height':'25px','text-align':'left'});
                        jQuery('.ui-jqgrid tr.jqgrow td').css({'height':'20px'});
                        $(this).find(">tbody>tr.jqgrow").removeClass("myAltRowClassEven myAltRowClassOdd");
                        $(this).find(">tbody>tr.jqgrow:odd").addClass("myAltRowClassEven");
                         $(this).find(">tbody>tr.jqgrow:even").addClass("myAltRowClassOdd");
                         $('.ui-corner-all').addClass('ui-zero-corner');
                    },
                    onSortCol: function (index, columnIndex, sortOrder) {
                         $(this).find(">tbody>tr.jqgrow").removeClass("myAltRowClassEven myAltRowClassOdd");
                         $(this).find(">tbody>tr.jqgrow:odd").addClass("myAltRowClassEven");
                         $(this).find(">tbody>tr.jqgrow:even").addClass("myAltRowClassOdd");
                        //return 'stop';
                    }

                });

                jQuery("#jqGrid1").jqGrid('gridDnD',{connectWith:'#jqGrid2'}); 
                jQuery("#jqGrid2").jqGrid('gridDnD',{connectWith:'#jqGrid1'});

Я использую приведенный выше код для получения данных. Но проблема в том, что при добавлении данных все нормально, как и ожидалось.Но при удалении данных я.e перетаскивание в другой столбец(Grid1) данные должны быть удалены.Если я удаляю 1 продукт его штраф, но если я пытаюсь удалить все элементы в сетке сразу, я все еще получаю значения из grid2.

1 ответ

  1. Я полагаю, что вы используете datatype: "local"в обеих сетках. Вы можете получить настоящие (доработанные) данные использованием $("#gridid").jqGrid("getGridParam", "data"), где #grididдолжен быть селектор ИД грид1 или грид2.