Я использую 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
здесь смещение — номер строки.
Вы пытаетесь манипулировать гиперссылкой, чтобы передать дополнительный параметр через 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
Вы имели в виду идентификатор строки или номер или либо? Идентификатор строки — это значение первичного ключа строки.
Вот что потенциально вы можете использовать взломать, чтобы добавить JavaScript к задней части строки запроса.
$dg -> set_col_dynalink("productLine", "http://www.example.com/", "productName", '"+(rowIndex)+"');