2012-02-21 6 views
1

私はjqgridのcolmodelに私とBeanオブジェクトを持っていました。オブジェクトは2つの属性nameとidを保持します。私はshowLinkフォーマッタを使用して、列の1つにハイパーリンクを形成しました。今、私はcolumにobject.nameという名前をつけて、クリックするとURLにidを送りたいと思っています。これについての作業方法に関する入力 任意の入力は私にjqgridで異なる列idを渡すshowLinkフォーマッタ

コード助けることができる:事前に

colModel :[ 
     {name:'xxx', label:'xxx', width:200,align:'left'}, 
     {name:'yyy', label:'yyy', width:110,align:'left'}, 
     { 
      name:'zzz', 
      label:'zzz', 
      width:100, 
      sorttype:'int', 
      formatter:'currency', 
      formatoptions:{decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 0, prefix: "$ "}, 
      align:'center' 
     }, 
     {name:'aaa', label:'aaa', width:80,align:'left'}, 
     {name:'bbb', label:'bbb', width:100,align:'left'}, 
     { 
      name:'strategies.name', 
      label:'strategies', 
      width:160, 
      align:'left', 
      formatter:'showlink', 
      formatoptions:{baseLinkUrl:'MyLink.html',addParam: '',showAction:'',idName:'id'} 
     }] 
jQuery("#gridtableid").jqGrid('filterToolbar',{defaultSearch : "cn",stringResult: true,searchOnEnter : false}); 

おかげで.... JQgridで

答えて

3

を、あなたはjavascriptの関数を呼び出すし、必要な書式設定を行うことができます。行データ全体を再生する必要があります。

あなたのケースにshowlink関数を呼び出し、その行からformatoptionsを削除する必要があります。以下のように別のjs関数showlinkを用意し、準備されたリンクをグリッドに戻します。

function showLink(cellvalue, options, rowObject) { 


var link = "<a href ='<a href=\"http://www.w3schools.com&id='"+rowObject.columnid+"\">'+ rowObject.columnName + "</a>"; 

} 
+0

不完全な回答。グリッド定義からこのルーチンをどのように呼び出すのですか? – sarsnake