如何将值从Jqgrid onselect行传递到另一个网格

时间:2010-07-12 12:42:57

标签: asp.net-mvc jqgrid-asp.net

我必须从Jqgrid Selected行获取值,并根据主网格中的选定值用数据填充另一个网格。我不想在Jqgrid中使用主细节或subgrdi。由于我使用的是MVC,有没有办法在另一个视图中填充第二个jqgrid? 我无法获取所选行的列值以将其发布到第二个网格。

这是我的代码

$(document).ready(function() {   
    $("#UBSImageList").jqGrid({
        url: '<%= Url.Content("~/UpdateBatchStatus/UBSDataJson/") %>',   
        datatype: "json",
        mtype: 'POST',
        colNames: ['BatchImageName'],
        colModel: [
            {name:'BatchImageName', index:'BatchImageName', align: 'left', width: 40, editable: false ,sortable: true}
        ],
        rowNum: 20,
        rowList: [10, 20, 30, 50],
        pager: jQuery('#UBSImagePager'),
        viewrecords: true,
        imgpath: '<%= Url.Content("~/Content/Scripts/themes/basic/images")%>', 
        sortname: 'BatchImageName',
        sortorder: "asc",
        autowidth: true,
        caption: 'Client Payor Group',
        height: 350
    }); 

    $('#UBSImageList').setGridParam({
        onSelectRow: function(id) {                   
            window.location = '/UpdateBatchStatus/Details?id=' + id;    
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码在服务器上获取行。从这里你可以检查如何填充第二个jqgrid。

<script type="text/javascript">
    $(document).ready(function(){
    var grid = jQuery("#Jqgrid1");
    jQuery("#m1").click( function() { 
        var s; 
        var rowcells=new Array();
        s = grid.getGridParam('selarrrow'); 
        //alert(s);
        if(s.length)
        {
            for(var i=0;i<s.length;i++)
            {
                var entirerow = jQuery("#Jqgrid1").jqGrid('getRowData',s[i]);
                rowcells.push($.param(entirerow));

            }
        }
        $.ajax({
            url: "/jqSubGrid.aspx",
            type: "POST",
            data: rowcells.join('||'),
            success: function(html) {
                alert(html);    
            }
        });
    }); 
});
</script>

<a href="javascript:void(0)" id="m1">Get Selected rows</a>