2017-01-23 6 views
1

Ich muss zwei Spalten in Datatables zusammenführen. Ich habe versucht, ihre vorgeschlagene Methode für die Verkettung in columnRender zu verwenden, aber das Ergebnis ist leer (oder einfach von). Aber sogar Code zu wiederholen scheint dumm. Ich möchte einfach den Spalten Funktionen verschmelzen, die die gleichen sind, aber ich weiß nicht, wie:Spalten in Datatables zusammenführen

(data, type, full) => { 
    return $.map(data, function (d, i) { 
    return d.given +' '+ d.family; 
    }).join(',<br />'); 
    } 

Die gesamte JSFiddle für eine working example.

FYI, ich habe in der Lage Felder andere JSON mit this idea zu fusionieren, aber diese Felder sind unterschiedlich, da sie Arrays enthalten, und ich kann sie nicht full[]family oder full.given mit finden. Vielen Dank für Ihre Zeit!

Bearbeiten: unten gelöst. Ich habe die Antwort verwendet, um das zugeordnete Array2 nur zu laden, wenn Array1 leer ist. Siehe fiddle.

Antwort

1

den Code unten benutzen:

"columnDefs": [ 
    { 
     "render": (data, type, full) => { 
      return $.map(full['author'].concat(full['editor']), function (d, i) { 
       return d.given +' '+ d.family; 
      }).join(',<br />'); 
     }, 
     "targets": [2] 
    } 
] 

Siehe updated example für Code und Demonstration.

Verwandte Themen