2011-02-15 8 views
0

私はStruts 2アクションを返してJSON結果を返します。JSON結果からのstruts2jqueryグリッド列名の設定方法

{"columns":["coupon","CM","CM+1","CM+2","CM+3"],"couponList":[{"coupon":3.0,"CM":"88.2323","CM+1":"89.45","CM+2":"132.3128125","CM+3":"32.82"},{"coupon":3.5,"CM":"25","CM+1":"3125","CM+2":"333","CM+3":"5"}],"Caption":"30 Yr Fixed"} 

グリッドにデータを入力できます。 JSON結果に返される「列」、「キャプション」プロパティを使用して列名とキャプションを設定するにはどうすればよいですか?

私はS2Jqueryタグライブラリを使用しています。 @JSP

<%@taglib prefix="s" uri="/struts-tags"%> 
    <%@taglib prefix="sj" uri="/struts-jquery-tags"%> 
    <%@taglib prefix="sjg" uri="/struts-jquery-grid-tags"%> 
    <link rel="stylesheet" href="../css/jqgrid_gcpm.css"> 
    <link rel="stylesheet" href="../css/gcp.css"> 
<sj:head /> 

<s:url id="actionurl" action="testAction"> 
    <s:set var="caption" value="Caption" /> 
</s:url> 

<sjg:grid id="gridtable" caption="%{caption}" dataType="json" 
    href="%{actionurl}" pager="false" gridModel="couponList" 
    rowNum="-1" rownumbers="false" altRows="true" autowidth="true" 
    resizable="true" shrinkToFit="true"> 
    <sjg:gridColumn name="coupon" index="coupon" title="Coupon" 
     sortable="false" width="30" /> 
    <sjg:gridColumn name="CM" title="CM" sortable="false" 
     formatter="htmlFormatter" /> 
    <sjg:gridColumn name="CM+1" title="CM+1" 
     sortable="false" formatter="htmlFormatter" /> 
    <sjg:gridColumn name="CM+2" title="CM+2" 
     sortable="false" formatter="htmlFormatter" /> 
    <sjg:gridColumn name="CM+3" title="CM+3" 
     sortable="false" formatter="htmlFormatter" /> 
</sjg:grid> 

<script type="text/javascript"> 
    function htmlFormatter(cellValue, opts, rowObject) { 
     if (cellValue == null) { 
      return ''; 
     } 
     else { 
      return cellValue; 
     } 
    } 
</script> 
+0

S2 jqueryタグライブラリを使用していますか、JavaScriptを書いていますか?前者がJSPを投稿した場合は、後で質問からS2の言及を削除してスクリプトを表示します。 – Quaternion

+0

私はS2Jqueryタグライブラリを使用しています。 – silpa

答えて

0

は、私は同じ問題を抱えていたし、私の解決策だった:

var myfirstrow = {description:"1"}; 
$("#cashReceiptLines").jqGrid('addRowData',"1", myfirstrow); 

これは私のグリッド

<sjg:grid 
id="cashReceiptLines" 
caption="Cash receipt lines" 
gridModel="cashReceiptLines" 
rowNum="15" 
width="860" 
dataType= "local" 
rownumbers="true"> 
<sjg:gridColumn name="description" index="description" title="Description"/> 
</sjg:grid> 

アレックス・ビセンテ・チャコン・ヒメネス [email protected]です。 com

+0

Alex Vicenteに感謝します。私はs2jグリッドではなくjqGrid自体を使い始めました。 For Nowアクションの列に直接ラベルを設定します。この記事の作業コード:[リンク](http://stackoverflow.com/questions/5111653/problem-showing-jqgrid-with-dynamic-column-binding)私はあなたのやり方を試し、あなたに知らせるでしょう。再度、感謝します。 – silpa

関連する問題