2012-07-13 27 views
4

我正在使用JQGrid的格式器showlink。 這個我colModel是在JQGrid的showlink格式器中添加動態參數

[ 
{name:'id',index:'id',hidden:true}, 
{name:'unit',index:'unit',sorttype:"string"}, 
{name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit='+unit}} 
]; 

我要讓有這將是我的jqGrid的數據的第二部分的請求參數鏈接:

http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=Unit1 

,但我得到的錯誤

Uncaught ReferenceError: unit is not defined 

但如果我改變爲

[ 
    {name:'id',index:'id',hidden:true}, 
    {name:'unit',index:'unit',sorttype:"string"}, 
    {name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit=abc'}} 
    ]; 

我收到網址

http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=abc 

,但我想應視該行單元的值,

這裏是Example我創建。

我使用的另一種方法是編寫自定義包裝功能。但我想使用默認的「showlink」格式化程序。 請幫忙。

+0

我不知道你是否能得到另一列的值。爲什麼不使用自定義格式化程序? – RRK 2013-06-11 17:11:46

回答

2

colModel Userid列中提到formatter: editLink爲獲得userIdisActive值,這裏editLink是一個函數。

columnIndex userId是第一參數,columnIndex isActive是第二參數,在editLink功能使用rowdata.userIdrowdata.isActive得到這些值。這兩個值使用&分開。使用jqgrid在URL中傳遞two parameters

代碼:

$(document).ready(function(){ 
      //jqGrid 
      $("#usersList").jqGrid({ 
       url:'<%=request.getContextPath() %>/Admin/getAllUsersList', 
       datatype: "json",    
       colNames:['Edit','Primary Email','Active','First Name','Middle Name','LastName','Mobile Number'], 
       colModel:[ 
        {name:'userId',search:false,index:'userId',width:30,sortable: false,formatter: editLink},      
        {name:'email',index:'user.primaryEmail',width:150}, 
        {name:'isActive',index:'user.isActive',width:80}, 
        {name:'firstName',index:'firstName', width:100}, 
        {name:'middleName',index:'middleName', width:100}, 
        {name:'lastName',index:'lastName', width:100}, 
        {name:'mobileNo',index:'user.mobileNo', width:100}, 
        ], 
        rowNum:20, 
        rowList:[10,20,30,40,50], 
        rownumbers: true, 
        pager: '#pagerDiv', 
        sortname: 'user.primaryEmail', 
        viewrecords: true, 
        sortorder: "asc", 
        autowidth:'true', 
      }); 
      $('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%"); 
      $('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65); 
      $('#load_usersList').width("130"); 
      $("#usersList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{}, {closeAfterSearch:true}); 
      $(".inline").colorbox({inline:true, width:"20%"}); 
     }); 

     function editLink(cellValue, options, rowdata, action) 
     { 
      return "<a href='<%=request.getContextPath()%>/Admin/editUser/" +rowdata.userId+"&"+rowdata.isActive + "' class='ui-icon ui-icon-pencil' ></a>"; 
     }