2013-03-02 29 views
5

私はDatatablesを使用してJSONのデータを表しています。 私のJSONは次のとおりです。複数のデータをデータテーブルの列に挿入する方法は?

[{"name": "John Doe", "email": "[email protected]", "address" : "blah"}] 

は、DataTableので、私は簡単に使用して3つのdiffの列の情報のこれらの3枚を表示することができ、次

columnDefs = [ 
       { "mData": "name", "aTargets":[0] }, 
       { "mData": "email", "aTargets":[1] }, 
       { "mData": "address", "aTargets":[2] } 
      ]; 

しかし、問題は、私が表示したいということです」第1列に「名前」と「電子メール」、第2列に「アドレス」を入力します。 どうすればいいですか?ご案内ください。

+2

はこちらをご覧結果http://www.datatables.net/forumsようにそれを書くことができ、それをより短くします/ discussion/13321/mdata-with-multiple-columns/p1 – PSR

+0

@PSR方法を示してくれてありがとう。 +1 – LittleLebowski

+0

これも参考になります:http://stackoverflow.com/questions/19777075/datatables-merge-columns-together –

答えて

11

列定義の最初の列に名前または電子メールを入れるのではなく、関数を使用して必要なデータを取得して印刷することができます。詳細については、このページのmDataセクションを参照してください:https://datatables.net/usage/columns。下の私の例では、私は答えをそのようにテストしたので、aoColumnsを使用します。参照されるリンクでは、aoColumnDefsを使用して、typeフィールドとdataToSetフィールドについて詳しく説明しました。このアプローチは、aoColumnsまたはaOColumnDefsを使用するかどうかに関わらず、この回答を読んでいる人に役立つはずです。そして三つのパラメータかかるJavaScriptの範囲でgetNameAndEmail関数定義

aoColumns = [ 
    { "mData": getNameAndEmail }, 
    { "mData": "address" } 
]; 

aoColumnsなくaoColumnDefsを使用して、例えば

、戻されるデータ、データに対するアクションのタイプ、および入力した場合設定するデータを「設定」します。

function getNameAndEmail(data, type, dataToSet) { 
    return data.name + "<br>" + data.email; 
} 
5

は、あなたがこの

"aoColumns": [ 
    { "mData": "i_id" }, 
    { "mData": "i_name" }, 
    { "mData": function (data, type, dataToSet) { 
     return data.i_id + "<br/>" + data.i_name; 
    }} 
], 

enter image description here

関連する問題