jqGrid - Можно ли получить свойства объекта ondblClickRow?
У меня есть следующий 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. Я не вижу, если вы меняете его при двойном щелчке строки.