10,000개 미만의 행은 클라이언트에서, 100,000개 이상의 행은 서버측에서 처리한다.
테이블의 데이터 순서, 검색, 페이징 및 기타 모든 데이터 처리 작업은 DataTables 자체에 의해 브라우저에서 수행됩니다.
서버 측 처리가 작동하는 곳은 테이블에 표시하려는 데이터의 양이 매우 많을 때입니다. 서버 측 처리 모드에서 데이터의 모든 순서, 검색 등은 서버에서 사용 가능한 데이터베이스 엔진을 사용할 수있는 서버로 전달되며, 이 엔진은 정확히 이러한 종류의 작업에 맞게 조정됩니다. 데이터의 각 페이지는 서버에 Ajax 요청을 하는 것을 포함합니다.
서버 측 처리는 serverSide
옵션에 의해 활성화됩니다.
DataTable에 사용되는 기본 데이터 쓰는 항상 배열이어야 합니다. 해당 배열의 각 항목은 표시할 행을 정의하고 DataTables는 세 가지 기본 JavaScript 데이터 유형을 행의 데이터 소스로 사용할 수 있습니다.
[]
{}
new MyClass()
colums.data
나 colums.reder
옵션을 통해 데이터를 사용할 수 있습니다. 기본 작동 모드는 배열이지만 객체와 인스턴스는 일반적으로 복잡한 데이터로 작업할 때 더 직관적일 수 있습니다.데이터가 나타나는 열에 대한 배열 요소 간의 매핑은 해당 위치의 배열 요소 값을 읽는 열 인덱스에 의해 수행되기 때문에 DataTable에서 배열을 사용하기 쉽습니다.
const data = [
[
"Tiger Nixon",
"System Architect",
"Edinburgh",
"5421",
"2011/04/25",
"$3,120"
],
[
"Garrett Winters",
"Director",
"Edinburgh",
"8422",
"2011/07/25",
"$5,300"
]
]
$('#example').DataTable({
data: data
})
API를 통해 데이터를 적극적으로 사용하는 경우 데이터가 있는 배열 인덱스를 기억하지 않고 속성 이름만 사용하면 되므로 객체를 사용하면 특정 데이터 조각을 쉽게 얻을 수 있습니다.
const data = [
{
'name': 'Tiger Nixon',
'position': 'System Architect',
'salary': '123',
},
{
'name': 'Garrett Winter',
'position': 'Director','
'salary': '2444'
}
]
$('#example').DataTable({
data: data,
columns: [
{ data: 'name' },
{ data: 'position' },
{ data: 'salary' }
]
})
인스턴스는 데이터를 업데이트하는 데 사용할 수 있는 추상 메서드를 정의하기 때문에 유용할 수 있습니다.
function Employee(name, position, salary, office){
this.name = name;
this.position = position;
this.salary = salary;
this._office = office;
this.office = function() {
return this._office;
}
}
$('#example').DataTable(
data: [
new Employee("Tiger", "SA", "$123", "Korea"),
new Employee("Winter", "Singer", "$1", "Japan")
],
columns: [
{ data: 'name' },
{ data: 'salary' },
{ data: 'office' },
{ data: 'position' }
]
})
실제로 작동할 데이터를 가져오는 방법
DataTables가 시작되면 작동 중인 테이블에 이미 존재하는 데이터가 있는지 자동으로 확인하고 테이블에 사용합니다. (새 데이터를 사용하거나 새 데이터를 가져오기 위해 데이터를 전달하는 경우 이 데이터를 버립니다.)
이 데이터는 배열, 객체 또는 인스턴스의 형태일 수 있으며 원하는 곳 어디에서나 가져올 수 있습니다.
Ajax 소스 데이터는 DataTables는 데이터를 가져오기 위해 Ajax 호출을 수행합니다. 디스플레이에서 데이터를 검색하기 위해 논리를 분리하여 특정 스크립트에서 테이블 데이터를 소싱하는 것이 종종 매우 유용할 수 있습니다. DataTables의 Ajax 소스 데이터는 ajax
옵션으로 제어됩니다.