ProgramingTip

Datatables에서 빈 데이터 메시지를 표시하는 방법

bestdevel 2020. 11. 4. 08:10
반응형

Datatables에서 빈 데이터 메시지를 표시하는 방법


가끔 서버에서 빈 데이터를 얻는다고 가정하면 DataTables에 데이터 없음 메시지를 표시하고 싶습니다. 이것이 어떻게 가능한지?


빈 테이블에 표시되는 메시지를 사용자 정의 다음을 사용하십시오.

$('#example').dataTable( {
    "oLanguage": {
        "sEmptyTable":     "My Custom Message On Empty Table"
    }
} );

Datatable 1.10부터 다음을 수행 할 수 있습니다.

$('#example').DataTable( {
    "language": {
        "emptyTable":     "My Custom Message On Empty Table"
    }
} );

테이블에 대한 전체 사용 가능한 데이터 테이블 사용자 정의 메시지 는 다음 링크 참조 / 옵션 / 언어를 참조하십시오.


의 이후 버전 dataTables에는 다음 language설정이 있습니다 ( 여기 에서 가져옴 ).

  • "infoEmpty" -테이블에 레코드가 없을 때 표시됩니다.
  • "zeroRecords" -필터링과 일치하는 레코드가 없을 때 표시됩니다.

예 :

$('#example').DataTable( {
    "language": {
        "infoEmpty": "No records available - Got it?",
    }
});

참고 : 속성 이름에는 특수 문자가 포함되어 있습니다.

$('#example').DataTable( {
    language: {
        infoEmpty: "No records available - Got it?",
    }
});

기본적으로 그리드보기가 처리 완료 빈 데이터 세트 만 전달합니다.


서버 측 데이터를 반환하는 경우 데이터 속성이없는 경우에도 데이터 속성을 제공해야합니다. 읽지 않습니다 그것은 recordsTotal또는 recordsFiltered하지만 데이터 object-의 수에 의존


게임이 늦었지만 현지화 파일을 사용할 수도 있습니다.

DataTable을은 .jsonsEmptyTable와 해당 지역화 된 메시지 를 포함 하는 지역화 된 파일을 제공 합니다.

예를 들어, 위의 링크 에서 현지화 된 json 파일을 다운로드 한 다음 다음 Datatable과 같이 초기화하십시오 .

$('#example').dataTable( {
    "language": {
        "url": "path/to/your/json/file.json"
    }
});

IMHO, 현지화 된 콘텐츠가 외부 파일에 있기 때문에 훨씬 깔끔합니다.

이 구문은 DataTables 1.10.16 에서 작동하며 이전 버전에서는 테스트하지 않습니다.


이것은 단지 좋은 생각입니다. 즉, 클래스를에 본문 추가 하고 테이블에 데이터없는 동안 테이블을 숨기거나-display 할 수 있습니다 . 이것은 나를 위해 완벽하게 작동합니다. 테이블에 레코드가없는 경우 사용자 지정 NO Record Found 오류 메시지를 디자인 할 수 있으며, "no-record"클래스를 추가 할 수 있으며, 레코드가 1 개 이상있을 수있는 경우 클래스를 제거하고 데이터 테이블을 표시 할 수 있습니다.

다음은 jQuery 코드입니다.

$('#default_table').DataTable({

    // your stuff here

    "fnFooterCallback": function (nRow, aaData, iStart, iEnd, aiDisplay) {
        if (aiDisplay.length > 0) {
            $('body').removeClass('no-record');
        }
        else {
            $('body').addClass('no-record');
        }
    }
});

여기 CSS가 있습니다

.no-record #default_table{display:none;}

그리고 여기에 공식 링크가 있습니다.


나는 똑같은 것을 찾았지만 마지막으로 답을 찾았습니다. 이 답변이 도움이 되셨기를 바랍니다.

배열이 비어 있으면 다음과 같이 빈 배열을 보낼 수 있습니다.

if(!empty($result))
        {
            echo json_encode($result);
        }
        else
        {
            echo json_encode(array('data'=>''));
        }

감사합니다

참고 URL : https://stackoverflow.com/questions/14375771/how-to-show-empty-data-message-in-datatables

반응형