我有一个中继器,并用DataTables库将其包装起来。这是以下js函数。

function createDataTable() {
    $(document).ready(function() {
        $('#tblMessages').dataTable({
            "sPaginationType": "full_numbers",
            "sDom": '<"clreol"lf><"scrollable_datatable"rt><"clreol"ip>',
            "bPaginate": true,
            "bLengthChange": false,
            "bFilter": true,
            "bInfo": false,
            "bAutoWidth": false,
            "bAutoHeight": false,
            "bSort": false,
            "bStateSave": true,
            "iCookieDuration": 60*60*24
        });
    });
}

中继器右侧的滚动条根本没有分页功能。我在控制台上得到了这个:
Uncaught TypeError: Cannot set property '0' of undefined jquery.dataTables.min.js:366
Y                                                        jquery.dataTables.min.js:366
(anonymous function)                                     jquery.dataTables.min.js:454
jQuery.extend.each                                       jquery.min.js:21
jQuery.fn.jQuery.each                                    jquery.min.js:12
i.fn.dataTable                                           jquery.dataTables.min.js:434
(anonymous function)                                     Message.aspx:156
jQuery.fn.extend.ready                                   jquery.min.js:26
createDataTable                                          Message.aspx:152

怎么了?那我该怎么办?

最佳答案

检查您的表结构:

  • th节中的列数(thead)必须等于td节中的列数(tbody)。有关正确的HTML结构,请参见manual
  • 如果您在colspan部分中为rowspan元素使用ththead属性,请确保每一列都有一个唯一的th元素。有关更多信息和演示,请参见this example
  • 10-08 08:43