2013-08-06 33 views
11

Tek bir dataTable hücresinde birden fazla json değeri nasıl eklenir. Veri yığınları belgelerinden geçiyorum ama net bir örnek göremiyorum.Tek bir veri hücresinde birden çok json değeri nasıl eklenirTek

Bir oturumda dataTable'a erişmekte olduğum aşağıdaki JSON dizesini kullanıyorum. Ben datatable oturumu erişiyorum diğer sayfada

<textarea id="Report" type="text" style="" name="Report"> 
    [ 
    { 
    "Identifier": "0", 
    "LastName": "Cooper", 
    "FirstName": "Benny", 
    "MiddleInitial": "P", 
    "MRN": "7854753", 
    "Age": "30", 
    "Gender": "Female", 
    "Location": 
     { 
      "Bed": "1", 
      "Room": "A", 
      "unit": "NU1", 
      "facility": "Fac1" 
     }, 
    "ServiceDate":"05/03/2013", 
    "ChargeAndDx":"99222 - 410.01,428", 
    "BillingProvider":"Palmer, James", 
    "title":"Add", 
    "start":"2013-08-07", 
    "url":"#", 
    "textColor":"red" 
    }] </textarea> 

olduğunu aas aşağıdaki gibidir: Benim datatable olarak

$(document).ready(function(){ 

var ReportData=JSON.parse(document.getElementById("Report").innerHTML); 
     Report=$('#patientDataTables').dataTable 
     ({ 
      "bJQueryUI":true, 
      "bScrollCollapse":true, 
      aaData:patientReportData, 
      "aoColumns": 
       [ {"mData":"LastName","sClass":"left"}, 
        {"mData":"ServiceDate","sClass":"left"}, 
        {"mData":"ChargeAndDx","sClass":"left"}, 
        {"mData":"BillingProvider","sClass":"left"}, 
        {"mData":"null","sClass":"center","sDefaultContent":"<a href='' class='editor_menu'>menu</a>"} 

       ] 
     }); 

Soyadı ben FirtName, Orta Başlangıç, MRN ve yaş olarak istediğiniz nerede göründüğünü iyi.

Bu nasıl yapılır? Birisi bunu yapmanın hızlı bir yolunu biliyorsa.

cevap

24

önce DataTable 1.10.x için, böyle mRender parametreyi kullanabilirsiniz:

"columns":[ 
    {"data":"LastName", 
    "className":"left", 
    "render":function(data, type, full, meta){ 
     return full.FirstName + full.LastName + full.MiddleInitial; 
    } 
    }, 
    {"data":"ServiceDate","sClass":"left"}, 
    {"data":"ChargeAndDx","sClass":"left"}, 
    {"data":"BillingProvider","className":"left"}, 
    {"data":"null","className":"center","defaultContent":"<a href='' class='editor_menu'>menu</a>"} 
] 
+0

Teşekkür:

"aoColumns":[ {"mData":"LastName", "sClass":"left", "mRender":function(data, type, full){ return full.FirstName + full.LastName + full.MiddleInitial; } }, {"mData":"ServiceDate","sClass":"left"}, {"mData":"ChargeAndDx","sClass":"left"}, {"mData":"BillingProvider","sClass":"left"}, {"mData":"null","sClass":"center","sDefaultContent":"<a href='' class='editor_menu'>menu</a>"} ] 

DataTable 1.10.x itibaren böyle columns.render özelliğini kullanabilirsiniz cevap için sen Yanıt için beklediğim süreye kadar bir alternatiften yoruldum ve JSON dizesini kopyaladım. Tek bir nesne/alanda FirstName ve LastName ve Middle ilk aldım ve daha sonra dataTable'a ilettiniz. Ama bunu deneyeceğim. Bu benziyor ve kolay bir alternatif. – patz

+0

Çalışıyor. teşekkürler – patz

+0

İşler Ama sahip olduğunuz JSON dizisinin geçerli satırı ile ayarlanmış "data" parametresini kullanmalısınız, çünkü daha fazla satırınız varsa, yalnızca geçerli satırı değil tüm nesneleri içerecektir. Teşekkürler – Genaut

İlgili konular