2011-09-05 3 views
6

を設定しましたこれらのフィルタに基づいて列名を変更する必要があります。 サーバーからのActionResultに基づいてキャプションと列の名前を設定する方法はありますか?JQGridは私がサーバーになっただろう2列whith JQGridを持っており、いくつかのデータを取得し、その後、私は、サーバー上のフィルタに基づいていくつかの文字列を連結し、キャプションとしてもこれを設定したいキャプションとカラム名

答えて

12

私はあなたの質問が面白いです。

我々は、単純なグリッドで始めることができます。

$("#list").jqGrid({ 
    url: 'ColumnNamesAndTitelFromServer.json', 
    datatype: 'json', 
    loadonce: true, 
    colNames: ['Name', 'Email'], 
    colModel: [ 
     {name: 'name', width: 100}, 
     {name: 'email', width: 150} 
    ], 
    rowNum: 5, 
    rowList: [5, 10, 20], 
    pager: '#pager', 
    gridview: true, 
    rownumbers: true, 
    sortname: 'name', 
    sortorder: 'asc', 
    caption: 'Just simple local grid', 
    height: 'auto' 
}); 

とJSONデータ:私たちは、次のような結果

enter image description here

を受け取ることになります

{ 
    "total": 1, 
    "page": 1, 
    "records": 2, 
    "rows": [ 
     {"id": "id1", "cell": ["John", "[email protected]"]}, 
     {"id": "id2", "cell": ["Michael", "[email protected]"]} 
    ] 
} 

the demoを参照してください)

は今、我々は、カスタム追加情報をJSONデータを拡張:

{ 
    "total": 1, 
    "page": 1, 
    "records": 2, 
    "rows": [ 
     {"id": "id1", "cell": ["John", "[email protected]"]}, 
     {"id": "id2", "cell": ["Michael", "[email protected]"]} 
    ], 
    "userdata": { 
     "title": "Das ist der Titel bestimmt beim Server", 
     "columnNames": { 
      "name": "Die Name", 
      "email": "Die E-Mail" 
     } 
    } 
} 

私はちょうどuserdataにタイトルとドイツ語でのグリッドの列名を定義し、上記の例では。読み取り、userdataを使用するために、我々は、グリッドに次のloadCompleteイベントハンドラを追加することができます。

loadComplete: function() { 
    var $grid = $(this), columnNames, name, 
     userdata = $grid.jqGrid('getGridParam', 'userData'); 

    if (userdata) { 
     if (userdata.title) { 
      $grid.jqGrid('setCaption', userdata.title); 
     } 
     if (userdata.columnNames) { 
      columnNames = userdata.columnNames; 
      for (name in columnNames) { 
       if (columnNames.hasOwnProperty(name)) { 
        $grid.jqGrid('setLabel', name, columnNames[name]); 
       } 
      } 
     } 
    } 
} 

は今、同じグリッド意志が

enter image description here

another demoを参照)

+0

おかげのように見えますそれは完全に働いた – Leoadell

+0

@Leoadell:あなたは大歓迎です! – Oleg

関連する問題

 関連する問題