2012-03-06 2 views
2

У меня есть следующие DataTable:Как указать ширину столбца в DataTable?

$(function() { 
    var dataTableColumns = [ 
     { "sType": "numeric" },  null, null, null, null, null, 
     null, null, null, null, null, { "sType": "date-dayofweek" }, 
     null, null, null, null, null, null, { "sType": "date-dayofweek" }, 
     null, null, null, null, null, 
     null, null, null, null, null, 
     null, null, null, null, 
     null, null, null, null, 
     null, null, null, null, 
     null, { "sType": "date" }, null 
    ]; 

    oTable = $('#example').dataTable({ 
     "bPaginate" : true, 
     "aaSorting": [ [0,'asc'] ], 
     "aoColumns" : dataTableColumns, 
     "oLanguage": { 
      "sLengthMenu": 'Show <select>'+ 
       '<option value="10">10<\/option>'+ 
       '<option value="25">25<\/option>'+ 
       '<option value="50">50<\/option>'+ 
       '<option value="100">100<\/option>'+ 
       '<option value="-1">All<\/option>'+ 
       '<\/select> records' 
     }, 
     "iDisplayLength": -1, 
    }); 
}); 

Несколько столбцов в DataTable выше содержат текстовые данные, и я хочу, чтобы указать параметр ширины для этих столбцов. Я пробовал различные варианты bAutoWidth, sWidth, td width, css style, fnAdjustColumnSizing, но ничего не работает. Я не знаю, что происходит. Пожалуйста, помогите !!

+0

Пожалуйста, помогите .. Я застрял в этом вопросе за последние 1 неделю. – user1165952

+0

Я понял это. Выделите следующий параметр в стиле объявления html таблицы (ширина: 4000 пикселей) и bAutoWidth: false. Я знаю этот метод грубой силы, чтобы исправить ситуацию, но у меня нет другого выбора. Мне действительно не нравились ширины столбцов, заданные с помощью datatable. – user1165952

+1

DataTables v1.10 намного лучше об этом (и многое другое). http://datatables.net/reference/option/columns.width – SpaceNinja

ответ

4

Я понял это. Выделите следующий параметр в стиле объявления html таблицы (ширина: 4000 пикселей) и bAutoWidth: false. Я знаю этот метод грубой силы, чтобы исправить ситуацию, но у меня нет другого выбора. Мне действительно не нравились ширины столбцов, заданные с помощью datatable.

+0

sWidth - правильный спецификатор для столбца. Это работало для меня каждый раз. – crafter

0

Если вы используете DataTable 1.10.x или новее, вы должны знать, что параметр autoWidth должен быть установлен в false, чтобы он работал правильно.

Смотрите этот пример:

$('#example').dataTable({ 
    "autoWidth": false, 
    "columnDefs": [ 
    { "width": "20%", "targets": 0 } 
    ] 
}); 

Примечание: Даже official documentation не сказать вам об этом.