Использование jQuery Datatable в Google Drive API - PullRequest
0 голосов
/ 21 апреля 2020

Я работаю над тем, как реализовать jQuery Datatable для отображения таких данных http://prntscr.com/s39fcm вы можете проверить его работу на этом сайте http://sharer.pw

Мой код:

function listFiles() {
gapi.client.drive.files.list({
    'pageSize': 10,
    'fields': "nextPageToken, files(id, name, mimeType)"
}).then(function(response) {

    var files = response.result.files;
    if (files && files.length > 0) {


        for (var i = 0; i < files.length; i++) {
            var file = files[i];


            var dataSet = [
                [file.name, file.mimeType, "<input type='checkbox'/>", "<div class='btn-group'><a class='btn btn-primary' href='#'>Share</a><a class='btn btn-danger'>Delete</a></div>"]
            ];


        }
        $('#example').DataTable({
            data: dataSet,
            columns: [
                { title: "File Name" },
                { title: "Type" },
                { title: "Select" },
                { title: "Action" }
            ]
        });
    } else {
        console.log('No files found.');
    }

});

этот код возвращает только одну запись! Я также пытался поместить $('#example').DataTable({..}); внутрь для l oop, но это говорит это

http://prntscr.com/s39oyn

1 Ответ

0 голосов
/ 21 апреля 2020

Я только что решил проблему самостоятельно. этот код ниже работает как шарм! :)

В HTML:

<table id="tab">
<thead>
    <tr>
        <th>File Name</th>
        <th>Type</th> 
        <th>Select</th>
        <th>Action</th>
    </tr>
</thead>

в JS файл:

function listFiles() {
gapi.client.drive.files.list({
    'pageSize': 10,
    'fields': "files(id, name, mimeType)"
}).then(function(response) {

    var files = response.result.files;
    if (files && files.length > 0) {

        for (var i = 0; i < files.length; i++) {
            var file = files[i];

             $('#tab').append($('<tr>')
              .append($('<td>').append(file.name))
              .append($('<td>').append(file.name))
              .append($('<td>').append(file.name))
              .append($('<td>').append(file.name))
            );
        }

            $('#tab').DataTable();

    } else {
        console.log('No files found.');
    }
});
} 
...