DataTables API - ColumnDefs和Render

时间:2017-06-07 19:58:03

标签: javascript datatables

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

1 个答案:

答案 0 :(得分:1)

您有17列(aoColumns数组中的17个条目),但使用"targets": 17定位到第18列,因为它被解释为从零开始的索引。

"targets": 17更改为"targets": 16以定位最后一列中的单元格。