使用JQGrid获取更新的网格数据

时间:2016-10-03 20:17:50

标签: jquery jqgrid

我正在使用JQGrid框架来显示网格数据。有两个网格和数据可以从网格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'});

我正在使用上面的代码来获取数据。但问题是在添加数据时一切正常如预期。但是在删除数据时,即拖动到另一列(Grid1),必须删除数据。如果我删除1个产品,但如果我尝试删除所有元素我立刻得到了网格中的值。

1 个答案:

答案 0 :(得分:0)

我想你在两个网格中使用datatype: "local"。您可以按使用$("#gridid").jqGrid("getGridParam", "data")获取当前(已修改)数据,其中#gridid应该是grid1或grid2的ID选择器。