2017-01-19 1 views
2

У меня есть DataTable, который создается и заполняется через aoColumns и mDataЕсть ли способ оставить пустой столбец DataTable через aoColumns/mData?

var dtable = $('.ssdatatable').DataTable({ 
    //list of datatable properties 
    , 
    "aoColumns":[ 
     { "mData": "parameter" }, 
     //other columns 
    ]//and other stuff 

В настоящее время я добавляю дополнительный первый столбец, чтобы сделать это в «многократный CheckBox строки выбора».

Так что я добавил дополнительный <th></th> в начале (слева имя столбца пустой), и измененный файл сценария, как следующее:

var dtable = $('.ssdatatable').DataTable({ 
    "columnDefs": [{ 
      orderable: false, 
      className: 'select-checkbox', 
      targets: 0 
     }], 
    "select": { style: 'multi', selector: 'td:first-child' }, 
    //list of datatable properties 
    , 
    "aoColumns":[ 
     { "mData": "parameter" }, 
     //other columns 
    ]//and other stuff 

Однако, так как я оставил раздел aoColumns нетронутым, все Данные были перенесены на один столбец слева, начиная с пустой колонки. Я сделал дополнительные исследования, чтобы предотвратить это, и попытался использовать "mData": null. Хотя это предотвратило ошибку и превратило первый столбец в ряд флажков, как я хотел, эти флажки были переполнены текстом [object Object]. Я попытался использовать "mData": " ", но он выдает ошибку пустого источника.

Есть ли способ оставить столбец пустым при использовании комбинации aoColumns/mData?

+1

Вы пытались сыграть с опцией 'render' в первом столбце? возможно, возвращая пустую строку в функцию рендеринга или создавая там флажки. – Sebastianb

+1

возможно 'nbsp;' вместо '' будет его обмануть ... – dandavis

+0

@dandavis Просто попробовал, '' mData ": '& nbsp'', возвращает ошибку неизвестного параметра nbsp. –

ответ

0

Хотя это не идеальное решение, но мне удалось заставить его работать. Для этого я создал источник внутри контроллера, как

q.Select(p=> new {Checkbox = "", and other stuff}) 

и Javascript Я просто объявил Checkbox в качестве источника первого mData

"mData": "Checkbox" 

И вуаля! Теперь все ненужные тексты исчезли.