2015-02-24 455 views
4

我正在使用phpgrid.com datagrid并想为我的列'kbid'生成一个动态网格。我看到他们的页面上举例如下:使用phpgrid创建动态链接

$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

这里的偏差是行号。

回答

5

您正在试图操纵超级链接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

0

你的意思是行号或数字或者是?行标识是行的主键的值。

这里有可能你可以使用黑客附加到查询字符串后面的JavaScript。

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