Создание динамической ссылки с использованием phpgrid

Я использую phpgrid.com datagrid и хочу создать динамическую сетку для моего столбца «kbid». Я видел пример на их странице:

$dg -> set_col_dynalink("productCode", "http://www.example.com/", "productCode", '&foo=bar');

Я сделал мой так же:

$dg -> set_col_dynalink("kbid", "../ib/detail.php", "kbid");

Теперь это показывает:

локальный / reskb / IB / detail.php? kbid = 1143

но мне нужно сделать так

локальный / reskb / IB / detail.php? смещение = 0&KBID = 4916

здесь смещение — номер строки.

4

Решение

Вы пытаетесь манипулировать гиперссылкой, чтобы передать дополнительный параметр через URL. Вы должны сделать это в клиенте с Javascript.

Вот пример из phpGrid, который вызывает функцию javascript, когда пользователь нажимает гиперссылку в сетке. Вот ссылка:

http://phpgrid.com/example/call-javascript-function-on-hyperlink-click/

Вам также необходимо сначала включить номер строки (http://phpgrid.com/documentation/enable_rownumbers/)

PHP

$dg->set_col_format("productLine", "showlink", array("baseLinkUrl"=>"javascript:", "target"=>"_self",
"showAction"=>"myFunction(jQuery('#products'),'",
"addParam"=>"');"));

Javascript

    myFunction = function (grid,param) {
var ar = param.split('=');
if (grid.length > 0 && ar.length === 2 && ar[0] === '?id') {
var rowid = ar[1];
var kbid = grid.getCell(rowid, 'kbid');
var rowNum = grid.getInd(rowid);
window.location.href = "http://example.com/?offset="+ rowNum +"&kbid="+kbid;
}
};

Используйте getInd, чтобы получить индекс строки, как описано здесь: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

5

Другие решения

Вы имели в виду идентификатор строки или номер или либо? Идентификатор строки — это значение первичного ключа строки.

Вот что потенциально вы можете использовать взломать, чтобы добавить JavaScript к задней части строки запроса.

$dg -> set_col_dynalink("productLine",
"http://www.example.com/",
"productName",
'"+(rowIndex)+"');
0

По вопросам рекламы [email protected]