2015-08-10 3 views
0

У меня есть четыре варианта для пользователя на моей странице, я показываю данные с использованием datatable. Нагрузка на страницу Я показываю данные для 1-го варианта, который содержит 9 столбцов. Моя вторая опция содержит данные, для которых требуется всего 4 столбца. Мой третий вариант требует 5 столбцов.Datatable show column на основе результата с сервера

Я не знаю, как изменить эти номера столбцов и имя столбца динамически на основе выбора пользователя

Я получаю эти данные с сервера в формате JSON

Есть ли способ сделать это ? Я делаю это с помощью jquery

Я также пробовал вариант: «aoColumns», и я передал массив в качестве имен столбцов, но он не сработал.

Это мой код для таблицы:

<table id="example" class="table table-striped table-bordered table-hover dataTable" aria-describedby="bTable2_info" style="width: 100%;"> 
     <thead> 
     </thead> 


     </table> 

И это мой код DataTable свойства:

var col = ['a','b','c','d','e','f','g','h','i']; 
      oTable12= $('#example').dataTable({ 
      "aLengthMenu": [[5, 10, 20, -1], [5, 10, 20, "All"]], 
      "iDisplayLength": 5, 
      "aoColumns": col, 
      }); 

Спасибо

ответ

0

Вы можете установить видимость столбцов с помощью API fnSetColumnVis (index, boolean).

Here is the demo

var dt1; 
$(document).ready(function() { 
    dt1= $("#t1").dataTable({ 
     aoColumns:[null,null,null,null,{bVisible:false}] 
    }); 
}); 

$('#b1').on('click',function() { 
    dt1.fnSetColumnVis(1, false); 
    dt1.fnSetColumnVis(3,false); 
} 
); 

DataTable сайт имеет довольно много примеров - http://legacy.datatables.net/examples/

+0

Есть ли способ, чтобы непосредственно изменить всю структуру DataTable я имею в виду количество столбцов и имен. Я хочу, чтобы весь новый datatable. Решение, которое вы предоставили, будет содержать столбцы, я не хочу, чтобы я хотел, чтобы весь новый datatable с данными, которые я получаю с сервера с новым числом столбцов и имен. Thank вы очень за ваш ответ. –

+0

Если у вас есть совершенно другой набор данных, чтобы показать лучший вариант, у вас есть 3 шаблона таблицы и DOM-манипуляция для рисования/удаления на основе выбора пользователя. API-интерфейс Datatable определенно может быть использован, чтобы обойти, но я считаю, что вам лучше создать 3 разных таблицы, чтобы ваш код был чистым. – Baski

+0

Друг, я нашел ответ, пытаясь его реализовать, В случае успеха я дам вам знать. Большое спасибо за Ваш ответ –

Смежные вопросы