数据表 columnDefs 宽度不适用于 initComplete:函数

Posted

技术标签:

【中文标题】数据表 columnDefs 宽度不适用于 initComplete:函数【英文标题】:Datatable columnDefs width not working with initComplete: function 【发布时间】:2020-04-13 14:00:32 【问题描述】:

我正在使用 Datatable 创建表格,但是当我使用 columnDefs 设置宽度时,它无法正常工作。这是我的代码http://dpaste.com/2QAXCX1

但是当我删除下面的脚本时,它 columnDefs 运行良好。

// init 
    initComplete: function () 
        this.api().columns([1,2,3,4,5,7,8]).every( function () 
            var column = this;
            var select = $('<select><option value=""></option></select>')
                .appendTo( $(column.footer()).empty() )
                .on('change', function () 
                    var val = $.fn.dataTable.util.escapeRegex(
                        $(this).val()
                    );

                    column
                        .search( val ? '^'+val+'$' : '', true, false )
                        .draw();
                 );

            column.data().unique().sort().each( function ( d, j ) 
                select.append( '<option value="'+d+'">'+d+'</option>' )
             );
         );
    ,
    // .init

谢谢。 第0个

【问题讨论】:

【参考方案1】:

select 元素扩展了您的列。

为避免这种情况,请添加width: 100%

var select = $('<select style="width: 100%;"><option value=""></option></select>')

这里是JSFiddle

您可能需要向元素添加更多标记以使表格看起来更漂亮。

【讨论】:

以上是关于数据表 columnDefs 宽度不适用于 initComplete:函数的主要内容,如果未能解决你的问题,请参考以下文章

角度 ag 网格不适用于角度 5

使用 boost::property_tree 读取 ini 文件不适用于 A.x 形式的子级

宽度:自动不适用于里面的表格

动态更改 UILabel 宽度不适用于自动布局

cURL 不适用于 WAMP

最大宽度不适用于浮动