1

当所有信息都是为​​ ajax 表动态生成时,有人可以给我一个示例,说明如何将 nowrap="nowrap" 添加到列中吗?

$('#results').dataTable({
    "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
        $(nRow).attr('id', aData[0]);
        return nRow;
    },
    "bAutoWidth": false,
    "sPaginationType": "full_numbers",  
    "bProcessing": true,
    "sAjaxSource": 'ajax/purchasers.php',
    "aaSorting": [[1,'asc']],                   
    "aoColumns": [                              
        { "bVisible": false },                      
        null,                                   
        null,
        null,
        null,
        null,
        null,
        null
    ]
});

我知道这可能是一个长镜头。提前致谢。

4

3 回答 3

8

最好通过样式来实现这一点。

"aoColumns": [                              
    { "sClass": "my_class"},

在样式表中

    .my_class {
   white-space:nowrap;
 }
于 2011-04-16T00:11:55.883 回答
2

虽然添加一个类并为此创建一个 CSS 条目肯定会起作用,但它看起来就像用锤子敲打螺丝一样。

Datatables 已经提供了一种简单的方法来做到这一点。

在您的 dataTable 声明中添加:

"fnRowCallback": function( nRow ) {
    if(nRow.cells[2]) nRow.cells[2].noWrap = true;  // column index starts with 0 and we check if cells[2] is null to be ultra safe
    return nRow;
},

希望这可以帮助

于 2011-06-28T19:05:33.463 回答
-1

如果有人对该解决方案感兴趣,您可以在 DataTables 完成渲染后使用 fnInitComplete 循环遍历表,如下所示:

$('#results').dataTable({
    "fnInitComplete": function() {
        $('#results tbody tr').each(function(){
                $(this).find('td:eq(0)').attr('nowrap', 'nowrap');
        });
    },
    "sAjaxSource": 'ajax/purchasers.php'
});
于 2010-02-17T15:59:21.880 回答