2017-02-27 40 views
1

我在codeigniter中有一個代碼,並且我正在使用數據表,現在我想使用上面的複選框顯示/隱藏列以讓列隱藏或可能顯示。我會在與這些代碼控制器填充從我的數據庫我的數據:datatable使用複選框顯示/隱藏列

public function dataTable_report($date) { 
     $user = array('user_id' => $this->session->userdata['logged_in']['user_id']); 
     $myreport = $this->Adminreport_model->getreportDataDaily($user,$date); 

     $data = array(); 
     foreach ($myreport as $patient) { 
      $row = array(); 
      $row[] = $patient->check_up_id; 
      $row[] = $patient->patient_fname; 
      $row[] = $patient->patient_lname; 
      $row[] = $patient->patient_mname; 
      $row[] = $patient->check_up_date; 
      $row[] = $patient->clinic_name; 
      $row[] = $patient->bill_amt; 

      $data[] = $row; 
     } 
     $output = array( 
      "data" => $data, 
     ); 
     echo json_encode($output); 
    } 

現在這裏是我的數據表當我檢查我上面的複選框不隱藏,請幫助我: https://jsfiddle.net/2j6w9hqt/27/

回答

1

我不會推薦通過隱藏th元素來操縱列可視性。

改爲使用Buttons extensioncolvis按鈕。

$('#example').DataTable({ 
    dom: 'Bfrtip', 
    buttons: [ 
     { 
      extend: 'colvis', 
      columns: ':not(:first-child)' 
     } 
    ] 
}); 

查看this example的代碼和演示。

我還通過添加複選框修改了列可視性按鈕的默認外觀,有關更多詳細信息,請參閱this answer

+0

wowww。多好的回答先生。非常感謝你。 –

+0

你好先生爲什麼它不會出現在我身上..這是我的代碼: function data_table_report(dateselected){(「#dataTables-report」)。dataTable()。fnDestroy(); 表= $( '#數據表報告')數據表({ 「AJAX」:{ 「URL」: 「<?PHP的回聲SITE_URL( 'patients_report/dataTable_report /')>」 + dateselected, 「類型「: 」POST「, }, 響應:真, DOM: 'Bfrtip', 按鈕:[{ 延伸: 'colvis', 列: ':否(:第一子)' }] }); } –

+0

除了DataTables CSS/JS文件外,您還需要包含Buttons擴展的CSS/JS文件。 –