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
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Navigate

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้นี้เป็นการเก็บข้อมูลสาธารณะสำหรับการวิเคราะห์ และเก็บสถิติการใช้งานภายในเว็บไซต์นี้เท่านั้น ไม่ได้เก็บข้อมูลส่วนตัวที่ไม่เป็นสาธารณะใดๆ ของผู้ใช้งาน

บันทึกการตั้งค่า
0
Would love your thoughts, please comment.x
()
x