2012-07-13 3 views
4

나는 showlink JQGrid의 포매터를 사용하고 있습니다.JQGrid의 showlink 포맷터에 동적 매개 변수 추가

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

하지만 난 오류

Uncaught ReferenceError: unit is not defined 
무엇입니까 :이 내 colModel에 대한 내가 링크로 내있는 jqGrid 데이터의 일부가 될이 개 요청 매개 변수를 가진 만들고 싶어

[ 
{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}} 
]; 

입니다

하지만 내가 변경 한 경우

내가 URL

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

무엇입니까하지만 난 단위의 값이 여기

내가 만든 Example이며, 해당 행에 따라해야합니다.

대체 접근 방식은 사용자 정의 랩 기능을 작성하는 데 사용됩니다. 하지만 기본 "showlink"Formatter를 사용하고 싶습니다. 도와주세요.

+0

난 당신이 다른 컬럼의 값을 얻을 수 있는지 모르겠습니다. 왜 사용자 정의 포매터를 사용하지 않습니까? – RRK

답변

2

userIdisActive의 값을 얻기위한 colModel userId를 열 언급 formatter: editLink에서, 여기 editLink는 기능입니다.

columnIndex에 userId

은 columnIndex에 isActiveeditLink 함수 rowdata.userIdrowdata.isActive를 사용하여 이들 값을 얻을 번째 파라미터, 첫번째 파라미터이다. 이 두 값은 &을 사용하여 구분됩니다.

URL에 two parameters을 jqgrid를 사용하여 전달하십시오.

코드 :

$(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>"; 
     }