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 に答える