Dynami c datatable Jquery - PullRequest
       3

Dynami c datatable Jquery

3 голосов
/ 17 апреля 2020

Я хотел бы знать, как я могу создать строку таблицы данных с данными Dynami c. У меня есть эта таблица:

enter image description here

Но я хочу показать красные данные динамически в соответствии с моими пользовательскими ролями.

Например, если моя роль равна руководителю показать ему одну кнопку или, если моя роль отличается от этой шоу для пользователя, другие кнопки

это моя таблица html:

    <div class="table-responsive-lg table-responsive-md">
        <table id="table" class="table table-hover">
            <thead>
                <tr>
                    <th></th>  
                    <th>Solicitante</th>
                    <th>Dia de solicitud</th>
                    <th>Estatus</th>
                    <th>Acciones</th>
                </tr>
            </thead>
        </table>
    </div>  

И я звоню этот метод в функции готовности документа

             table = $('#table').DataTable({
                  'data': data
                , 'columns': [
                    {
                        'className': 'details-control',
                        'orderable': false,
                        'data': null,
                        'defaultContent': ''
                    },
                    { 'data': 'name' },
                    { 'data': 'request.dateRquest' },
                    { 'data': 'request.status' },
                    {
                    "className": '',
                    "orderable": false,
                    "data": null,
                    "defaultContent": '<button class= "btn btn-success btn-circle asignar" title="Asignar"> <i class="material-icons">assignment_ind</i></button>'+
                        "&nbsp;"+
                        '<button class= "btn btn-danger btn-circle rechazar" title="Rechazar"> <i class="material-icons">close</i></button>'
                    }
                ],
                'order': [[1, 'asc']]
             })

Могу ли я перебрать данные, которые я хочу поместить в мою таблицу? На рисунке у меня есть столбец estatus, если estatus отличается от ожидающего, я хочу выполнить другое действие с помощью кнопки.

Поэтому мне нужно проверить роль человека, который входит в систему, и проверить статус каждая строка

Я хочу сделать что-то вроде этого:

If (role == xRole && data.status! = 'Pending') {Изменить стиль кнопки Поместить другой класс для примера change . Назначить .CloseRequest}

Если бы я знал, как взаимодействовать с данными, которые я собираюсь поместить в строки до того, как таблица была помечена, это будет проще

Это возможно ?

enter image description here

1 Ответ

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

Измените

                "defaultContent": '<button class= "btn btn-success btn-circle asignar" title="Asignar"> <i class="material-icons">assignment_ind</i></button>'+
                    "&nbsp;"+
                    '<button class= "btn btn-danger btn-circle rechazar" title="Rechazar"> <i class="material-icons">close</i></button>'

на

                "defaultContent": getButtons()

и определите эту функцию:

function getButtons() {
    switch (role) {
        case "admin": return "sometemplate1";
        default: return "sometemplate2";
    }
}

просто убедитесь, что role правильно определено.

...