var $ = require( 'jquery' );
var dt = require( 'datatables.net' )();
Để sử dụng ta chỉ cần đặt id cho table và dùng jQuery để gọi phương thức DataTable()
$(document).ready( function () {
$('#table_id').DataTable();
} );
Một số tùy chọn
Điều chỉnh các thanh control trên table
$('#table-product').DataTable({
data: this.products, // Dữ liệu dùng để hiển thị cho bảng, có thể là array, object ...
columns: [
{ data: 'product_category.name' },
{ data: 'name' },
{ data: 'slug' },
{ data: 'quantity' },
{ data: 'price' },
], // Các thuộc tính của product sẽ match với từng collumn
searching: false, // Mặc định là true, set false để tắt chức năng search
ordering: false, // Mặc định là true, set false để tắt chức năng sắp xếp theo collumn
paging: false, // Mặc định là true, set false để tắt chức năng phân trang
scrollX: 400, // Nội dụng của table sẽ hiện thị với with 400px, Nếu quá thì sẽ có thanh scroll
scrollY: 400, // Nội dụng của table sẽ hiện thị với hieght 400px, Nếu quá thì sẽ có thanh scroll
processing: true,
info: false, // Tắt thông tin về table VD: Showing 1 to 14 of 14 entries
});
Kết quả
Thay đổi ngôn ngữ
$('#table-product').DataTable({
language: {
processing: "Message khi đang tải dữ liệu",
search: "Placeholder của input tìm kiếm",
lengthMenu: "Điều chỉnh số lượng bản ghi trên 1 trang _MENU_ ",
info: "Bản ghi từ _START_ đến _END_ Tổng công _TOTAL_ bản ghi",
infoEmpty: "Khi không có dữ liệu, Hiển thị 0 bản ghi trong 0 tổng cộng 0 ",
infoFiltered: "(Message bổ sung cho info khi không search đc record nào _MAX_)",
infoPostFix: "Alo Alo", // Cái này khi thêm vào nó sẽ đứng sau info
loadingRecords: "",
zeroRecords: "Khi tìm kiếm không match với record nào",
emptyTable: "Không có dữ liệu",
paginate: {
first: "Trang đầu",
previous: "Trang trước",
next: "Trang sau",
last: "Trang cuối"
},
aria: {
sortAscending: ": Message khi đang sắp xếp theo column",
sortDescending: ": Message khi đang sắp xếp theo column",
}
},
});
Kết quả
Server side
Khi sử dụng syntax ('#table-product').DataTable() thì các thao tác tìm kiếm, phân trang, sắp xếp… đều được xử lý ở phía Client.
Điều này thích hợp với các table có số lượng record nhỏ cỡ < 10.000. Nếu dữ liệu quá lớn thì cách làm như vậy không tốt vì server phải trả về số lượng record rất lớn.
Do đó nên sử dụng server side, tức là khi có bất kỳ yêu cầu nào như tìm kiếm, phân trang, sắp xếp thì đều gửi request lên server và trả về dữ liệu cần thiết.
Để sử dụng chức năng này trong table ta cần kích hoạt như sau.
Hello, This tutorial will give you example of laravel 9 livewire crud example. you can understand a concept of crud application using livewire laravel 9 example. you can understand a…
Hello, This tutorial shows you laravel 9 custom login and registration example. We will use laravel 9 custom login authentication. you’ll learn laravel 9 custom login and registration. I would…
Hi Dev, This simple article demonstrates of laravel 9 livewire form submit example. In this article, we will implement a create form with laravel 9 livewire. We will use laravel…
Hi Dev, This article will give you example of laravel 9 ajax crud example. you can understand a concept of laravel 9 ajax crud example tutorial. I explained simply about…
Hi, In this short tutorial, we will cover an laravel 9 restrict user access from ip. it’s a simple example of laravel 9 restrict ip address to access user. This…
Hi Dev, In this quick example, let’s see laravel 9 get user current location. I explained simply about how to get current user location in laravel 9. Here you will…
Nhận quyền truy cập vào Đơn đặt hàng, Danh sách yêu thích và các đề xuất của bạn.
Signup
Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.