2013-08-06 19 views
11

Jak dodać wiele wartości json w pojedynczej komórce tabeli danych. Przechodzę przez dokumentację danych, ale nie mogę uzyskać wyraźnego przykładu.Jak dodać wiele wartości json w pojedynczej komórce tabeli dataTable

Mam następujący ciąg JSON, do którego uzyskuję dostęp poprzez sesję do tabeli danych.

<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> 

po drugiej stronie, gdzie jestem z dostępem do sesji w DataTable jest AAS następująco:

$(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>"} 

       ] 
     }); 

w moim DataTable gdzie pojawia Nazwisko chcę FirtName, Bliski początkowej MRN i wiek jako dobrze.

Jak to się robi. Jeśli ktoś zna szybki sposób, aby to zrobić.

Odpowiedz

24

Przed DataTables 1.10.x, można użyć parametru mRender takiego:

"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>"} 
] 

Zaczynając od DataTables 1.10.x, można użyć właściwości takiego columns.render:

"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

Thank za odpowiedź. Dopóki nie czekałem na odpowiedź, zmęczyłem się alternatywą i sklonowałem ciąg JSON. Otrzymałem FirstName i LastName oraz Middle initial w jednym obiekcie/polu, a następnie przekazałem je do dataTable. Ale spróbuję tego. To wygląda na łatwą alternatywę. – patz

+0

To działa. dziękuje – patz

+0

Działa, ale powinieneś użyć parametru "data" ustawionego za pomocą bieżącego wiersza tablicy JSON, który masz, ponieważ w przypadku, gdy masz więcej wierszy, wszystkie zawierają wszystkie obiekty, a nie tylko bieżący wiersz. Dzięki – Genaut

Powiązane problemy