DataTables ซ่อนบาง Column ตามเงื่อนไขที่กำหนด


เอาโค้ดตัวเต็มไปตัดต่อเอาเองเน้อ แต่หลักๆ คือใช้ Event drawCallback ของตัว DataTables นะ

let dataTables = $('#datatable').DataTable({
  ajax: {
    url: backofficeUrl + "manage/youtube/get_items",
    type: 'POST',
    data: {}
  },
  columns: [{
      data: 'id',
    },
    {
      data: 'name',
      visible: false,
    },
  ],
  columnDefs: [{
      targets: 0,
      className: 'text-center',
      render: function(data, type, full, meta) {
        return data;
      },
    },
    {
      targets: 1,
      className: 'align-top',
      render: function(data, type, full, meta) {
        return data;
      }
    },
  ],
  drawCallback: function(settings) {
    var api = this.api();

    const isAdmin = true;

    // ถ้า isAdmin เป็น true จะแสดง column ที่ 1 ออกมา
    if (isAdmin) api.column(2).visible(true);
  }
});
      

0 0 votes
Article Rating
0
Would love your thoughts, please comment.x
()
x