如何在jqgrid中选择行

时间:2012-05-27 08:01:49

标签: jquery jqgrid jqgrid-asp.net jqgrid-formatter

我有jqgrid的形式,我希望当用户点击该行选中该行时,但是通过此代码只选择了第一行,当用户点击第n行时,选择一行。我写这段代码

var gridItem = $('#listItem');
gridItem.jqGrid({
    url: 'jQGridHandler.ashx',
    postData: { ActionPage: 'ClearanceItems', Action: 'Fill', requestId: rowid },
    ajaxGridOptions: { cache: false },
    datatype: 'json',
    height: 200,
    colNames: ['REQUEST_ID','ITEM_NO','GOODS_DESCRIPTION','QUANTITY'],
    colModel: [
        { name: 'REQUEST_ID', width: 100, sortable: true },
        { name: 'ITEM_NO', width: 200, sortable: true },
        { name: 'GOODS_DESCRIPTION', width: 100, sortable: true },
        { name: 'QUANTITY', width: 100, sortable: true }
    ],
    gridview: true,
    rowNum: 20,
    rowList: [20, 40, 60],
    pager: '#pagerItem',
    viewrecords: true,
    sortorder: 'ASC',
    rownumbers: true,
});
gridItem.jqGrid('navGrid', '#pagerItem', { add: false, edit: false, del: true }, {}, {},
    {}, { multipleSearch: true, overlay: false, width: 460 });

谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

如果在选择一行时会选择另一行(通常是网格中的第一行),那么我可以假设您在填充数据时遇到问题。如果所有行都具有相同的id值,则所有<tr>(代表行)具有相同的ID。 HTML不允许id重复。

因此,您应该更改生成url: 'jQGridHandler.ashx'的数据。如果'REQUEST_ID'列中的值是唯一的,您可以将key: true作为'REQUEST_ID'列的附加属性。如果列中的值将用作rowid。

答案 1 :(得分:0)

我不确定你是否意味着“多选”,如果是,你可以将网格选项“multiselect”设置为true。像这样:

$("#listitem").setGridParam({"multiselect":true});

或在初始化时设置选项:

multiselect : true