API DataTables - ColumnDefs и Render

1

Без функции ColumnnDefs + Rendering он работает и корректно отображает таблицу. С помощью ColumnDefs + Render появляется следующая ошибка. Версия данных, которые я использую, находится по адресу http://rawgit.com/DataTables/DataTables/master/media/js/jquery.dataTables.js

 Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined
        at _fnCreateTr (jquery.dataTables.js:3115)
        at _fnAddData (jquery.dataTables.js:2434)
        at HTMLTableRowElement.<anonymous> (jquery.dataTables.js:2462)
        at jquery-2.1.1.js:144
        at Function.map (jquery-2.1.1.js:468)
        at jQuery.fn.init.map (jquery-2.1.1.js:143)
        at _fnAddTr (jquery.dataTables.js:2460)
        at loadedInit (jquery.dataTables.js:1307)
        at HTMLTableElement.<anonymous> (jquery.dataTables.js:1332)
        at Function.each (jquery-2.1.1.js:375)


<script>
                $(document).ready(function () {

                    $('#main_table').DataTable(
                        {
                            'fixedHeader': true,
                            'order': [[14, 'desc']],
                            'aoColumns': [
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null 
                            ],
                            'columnDefs': [{
                                'render': function (data, type, row) {
                                    //add case logic to convert 0 to 'N' and 1 to 'Y' in Exclude field
                                    if (data == row["Exclude"] && data != null) 
                                        if (data == "1") {
                                            return "Y";
                                        } else {
                                            return "N";
                                        }
                                    }
                                },
                                "targets": 17
                            }
                            ]
                        }




                        );




                });
</script>
Теги:
datatables

1 ответ

1

У вас есть 17 столбцов (17 записей в массиве aoColumns), но с использованием "targets": 17 который предназначен для 18-го столбца, потому что он интерпретируется как индекс на основе нуля.

Измените "targets": 17 на "targets": 16 для целевой ячейки в последнем столбце.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню