2015-02-24 81 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)+"');