jqGrid - 是不是可以在 dblClickRow 上获取对象属性?

Posted

技术标签:

【中文标题】jqGrid - 是不是可以在 dblClickRow 上获取对象属性?【英文标题】:jqGrid - Is it possible to get object properties ondblClickRow?jqGrid - 是否可以在 dblClickRow 上获取对象属性? 【发布时间】:2021-06-13 04:58:33 【问题描述】:

我有以下 jqGrid:

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

所以,我创建了 2 个数组。第一个数组存储 Ajax Call 1 的结果,第二个数组存储 Ajax Call 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 循环并检查对象的属性。根据它具有的属性,我可以更改路径。还是有其他方法可以做到这一点?

【问题讨论】:

嗨,你能告诉我如何用虚拟数据使它可以运行吗? 【参考方案1】:

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。我看不到你双击行时是否更改它。

【讨论】:

以上是关于jqGrid - 是不是可以在 dblClickRow 上获取对象属性?的主要内容,如果未能解决你的问题,请参考以下文章

jqGrid - 更改过滤器/搜索弹出表单 - 在页面上平展 - 不是对话框

rowList 的文本框而不是 jqGrid 寻呼机中的选择

jqGrid细节备注—jqGrid中自定义格式,URL格式

在jqgrid中,我可以把寻呼机放在左上角吗

带有 jqGrid 错误消息的警报

Handsontable 是不是支持像 jqgrid 这样的服务器端分页?