2015-10-15 61 views
1

我們在我們的應用程序中使用了數據表。 有人可以建議如何設置數據表內的列的寬度。無法修復數據表列的寬度

以下是基本配置:

WATable = $('#dtAssignment').dataTable({ 
      "sScrollY": "150px", 
      "bAutoWidth": false, 
      "bPaginate": true, 
      "sPaginationType": "two_button", 
      "bLengthChange": true, 
      "iDisplayLength": DefaultRecordsPerPage, 
      "aLengthMenu": [[100, 250, 500], [100, 250, 500]], 
      "sDom": 'Trti<"row"<"two columns" l><"seven-by-five columns"<"#dvGoto">><"offset-by-seven" p>>', 
      "aoColumns": dtAssignmentData.template, 
      "aoColumnDefs": dtAssignmentData.columnDefs, 
      "fnDrawCallback": function(oSettings) { 

我們正在aoColumns從ASP.NET MVC應用程序& aoColumnDefs數據。以下是來自服務器的示例JSON數據。

{"columnDefs":[{"sTitle":"Description","aTargets":"[0]","sWidth":"220px","sName":null,"sType":null},{"sTitle":"User ID","aTargets":"[1]","sWidth":"50px","sName":null,"sType":null},{"sTitle":"Date Added","aTargets":"[2]","sWidth":"80px","sName":null,"sType":null}],"template":[{"mDataProp":"Description","fnRender":null,"sClass":null,"mRender":null,"sWidth":null},{"mDataProp":"CreatedBy","fnRender":null,"sClass":null,"mRender":null,"sWidth":null},{"mDataProp":"CreationDate","fnRender":null,"sClass":null,"mRender":null,"sWidth":null}],"aaData":[{ ... BLAH..BLAH..BLAH 

即使在設置「bAutoWidth」:false併爲每列設置sWidth之後,Datatable也會自動調整列的大小。

回答

0
  • 您需要調整您發送的數據。同時設置aoColumnsaoColumnDefs沒有任何意義。僅當您發送所有列的信息時才使用aoColumns

  • 您正在設置"sWidth":null在一個選項和"sWidth":"220px"在另一個令人困惑。

  • 避免使用不推薦使用的fnRender選項,建議使用mRender選項。

  • 添加以下CSS規則以避免表使用100%的頁面寬度。

    table.dataTable { 
        width:auto; 
    } 
    

this jsFiddle代碼和演示。