如何在jqgrid中获取列id或当前关注单元格的id

How can I get the column id or the id of the currently focused cell in jqgrid

本文关键字:id 单元格 jqgrid 获取      更新时间:2023-09-26

我想在jqgrid中获得当前关注单元格的id(该单元格的输入元素的id)。我尝试了getCell方法和beforeCelldit方法,但它们都希望iCol作为用户给定的参数。事实上,我希望当用户关注一行的特定单元格时返回iCol值。请帮帮我。

谢谢,Poorna。

您可以使用onCellSelect方法通过colModel获取当前单元格及其信息。

代码:

$("#list").jqGrid({
    datatype: "local",
    colNames: ["Id", "Name"],
    colModel: [{
        name: "id",
        index: "id",
        sorttype: "int"
    }, {
        name: "name",
        index: "name"
    }],
    caption: "Viz Test",
    pager: '#pager',
    search: true,
    data: myData,
    onCellSelect: function (row, col, content, event) {
        var cm = jQuery("#list").jqGrid("getGridParam", "colModel");
        alert(cm[col].name);
    }
});

演示:http://jsfiddle.net/1pt5wnkw/

Cell编辑在selrow之外还设置了两个jqGrid选项iColiRow。参数selrow表示编辑单元格的行ID,iRow表示行的索引,iCol表示列编号。所以你可以使用以下

// get the reference to object with all parameters of jqGrid
var p = $("#list").jqGrid("getGridParam");
alert("rowid=" + p.selrow +
    ", iRow=" + p.iRow +
    ", iCol=" + p.iCol);

顺便说一句,参数将不仅为可编辑列设置。如果启用了单元格编辑,并且单击的单元格(或列)不可编辑,则将选择该单元格,但仍将设置selrowiRowiCol