gridname.getGridParam('selrow')为null

时间:2015-05-12 10:24:58

标签: jquery jqgrid

我有以下代码。请告诉我如何在jqGrid中获取所选行数据。

我尝试使用以下代码:

function getlist()
{   
    var grid = $("#gridname");
    var rowKey = grid.getGridParam('selrow');
    if (rowKey)
        alert("Selected row primary key is: " + rowKey);
    else
        alert("No rows are selected");
}

这里我将“rowkey”视为null。

这是我用来将json数据加载到jqgrid的函数:

function loadvalues() {    
        $("#gridname").jqGrid({
            datastr: myDataS,
            datatype: "jsonstring",
            jsonReader: {repeatitems: false},
            autoencode:true,
            caption: " ",
            pgbuttons : false,
            viewrecords : false,
            pgtext : "",
            pginput : false,
            rownumbers:true,
            cmTemplate: {sortable:false},
            loadonce: true,
            cellsubmit : "clientArray",

            colNames: ['col1','col2'],
            colModel: [{
                name: 'col1',
                index: 'col1',
                width: 0
            },{
                name: 'col2',
                index: 'col2',
                width: 0
            }
          }]
        });
    }

1 个答案:

答案 0 :(得分:2)

在两种情况下,来电var rowKey = grid.getGridParam('selrow');(其中var grid = $("#gridname");)可以将变量rowKey设置为null

  1. 您在从空表<table id="gridname"></table>创建 jqGrid之前执行代码。如果没有id="gridname"的元素,您将获得几乎相同的结果。
  2. 在执行代码时,网格中没有选择任何行。
  3. 您发布了{em>单独的代码getlistloadvalues功能。因此,很难说出你遇到了什么问题。

    顺便说一句,函数loadvalues只能执行一次。它从空<table id="gridname"></table>创建网格。在创建过程中,它将被修改为相对复杂的潜水和表格结构。因此,人们不能再将函数loadvalues调用一次。在下一次调用期间,jqGrid只是测试,网格已经创建并且什么都不做。如果您想在函数loadvalues重新创建网格,那么您应该在开头添加$("#gridname").jqGrid("GridUnload");