jqGrid - 是否有可能在 ondblClickRow 上获取对象属性?

jqGrid - Is it possible to get object properties ondblClickRow?

我有以下 jqGrid:

我进行 AJAX 调用以在该网格上显示元素。我想在网格(同一选项卡)上显示更多项目并进行了另一个 AJAX 调用。

所以,我创建了 2 个数组。第一个数组存储 Ajax 调用 1 的结果,第二个数组存储 Ajax 调用 2.

的结果

我连接了这些数组并将它们显示在网格上:

var test3 = test1.concat(test2);
thegrid.addJSONData(test3);

到目前为止一切顺利,唯一的问题是,当我想双击网格上的项目时,它只能对每个项目使用相同的路径,这意味着它只能打开一种形式,而不能打开不同的形式.

那是因为点击网格时,调用了这个函数:

ondblClickRow: function (rowid, iRow, iCol, e) {
    onDoubleClickGrid(rowid, iRow, iCol, e, divname, listname);
}

完整函数如下:

function onDoubleClickGrid(rowid, iRow, iCol, e, divname, listname, useFormToOpen) {

    var rowData = $("#" + divname).getRowData(rowid);
    var curID = rowData.Id;
    var useForm = "EditForm.aspx";

    if (checkNull(useFormToOpen)!="") {
        useForm = useFormToOpen;
    }

    var curPath = "/MM/Lists/" + listname;
    // var curPath = "/nderungsantrag/Lists/" + listname;
    var url = curPath + "/" + useForm + "?ID=" + curID;
    openInDialog(dlgWidth, dlgHeight, true, true, true, url);
}

我尝试使用标志,但这些在这里不起作用,因为对象都在合并数组中,并且无法区分它们。

是否可以获取在 dblClickRow 上单击的元素的对象值? 因为那时我可以使用 for 循环并检查对象的属性。根据 属性 它有什么,我可以改变路径。还是有其他方法可以做到这一点?

ondblClickRow有一个参数事件(第4个)。在这里你可以得到这样的元素(如果我理解正确的要求):

ondblClickRow : function (rowid, iRow, iCol, e) {
    var target = e.target || e.srcElement; // this is what you need
    ....
}

您的 curPath 是一个常量值和一个变量的组合

var curPath = "/MM/Lists/" + listname

如果 listname 变量在双击该行期间没有改变,您将始终拥有相同的 curPath。我没有看到你是否在双击该行时更改它。