2017-01-23 4 views
1

Мне нужно объединить два столбца в Datatables. Я попытался использовать свой предложенный метод для конкатенации в столбце Render, но результат пуст (или просто di). Но даже повторение кода кажется глупым. Я просто хочу, чтобы объединить функции столбцы, которые являются одинаковыми, но я не знаю, как:Объединить столбцы в Datatables

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

Смотрите полный JSFiddle для working example.

FYI, я был в состоянии объединить другие поля в формате JSON с использованием this idea, но эти поля различны, так как они содержат массивы, и я не могу найти их с помощью full[]family или full.given. Спасибо за ваше время!

Редактировать: Решено ниже. Я использовал ответ для загрузки отображенного массива2 только в том случае, если array1 пуст. См. fiddle.

ответ

1

Используйте код ниже:

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

См updated example для кода и демонстрации.

Смежные вопросы