Включить или отключить Jquery Datatable Checkbox основание значения столбца - PullRequest
0 голосов
/ 07 января 2019

Мне нужно включить или отключить флажок в базе данных для значения столбца «Состояние». Я хочу, чтобы флажок был отключен, когда статус «Закрыт». Я знаю, что могу перестать отображать закрытый тикет, изменив предложение where в моем запросе. но я хочу, чтобы пользователь мог видеть все билеты

Настольный дисплей

enter image description here

C # код

 public ActionResult GetChildTickets1(int id)
    {
        _db.Configuration.ProxyCreationEnabled = false;
        IQueryable<VmRequest> results = _db.VmRequests.Where(i => i.ParentId == id) ;
        return Json(results, JsonRequestBehavior.AllowGet);
    }

Код JQuery

 // Datatable value from the database
  var enabletemplateListVM;
    function tchildticket () {
        enabletemplateListVM = {
            dt: null,
            init: function () {
                dt = $('#childtable').DataTable({
                    "pageLength": 10,                                              
                    "ajax": {
                        // Url
                        "url": "/Home/GetChildTickets1?id="+@ViewBag.id,
                        "type": "POST",
                        "datatype": "json",
                        "dataSrc": function (d) {
                            return d
                        }
                    },
                     // Table Columns to display the data
                    "columns": [                            
                   {
                            "targets": [0],
                            "data": "Id", "autoWidth": true,
                            "render": function (data, type, full) {
                                return '<input type="checkbox" id="cticket" name="cticket" value="' + full.Id + '"/>';
                            },
                        },
                        { "title": "Ticket Id", "data": "Id", "name": "Id" },
                        {
                            "title": "Logged On", "data": "CreatedOn", "name": "CreatedOn",
                            // Date Formating
                          render: function (data, type, full, meta) {
                                if (data !== null) {
                                    return (moment(data).format("DD/MM/YYYY"));
                                } else {
                                    return '';
                                }
                            }
                        },
                        { "title": "Ticket Type", "data": "TypeofWork", "name": "TypeofWork" },
                        { "title": "Subject", "data": "Subject", "name": "Subject" },
                        { "title": "Contact", "data": "ContactId", "name": "ContactId" },                         
                        { "title": "Status ", "data": "CurrentStatus", "name": "CurrentStatus" },                        
                        { "title": "Team", "data": "Teamid", "name": "Teamid" },
                    ],
                });
            }
        }
        enabletemplateListVM.init();
    }

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Используйте код ниже для столбца, содержащего флажки.

Обратите внимание, что я предположил, что закрытые заявки содержат «Закрыто» в столбце статуса, но измените код соответствующим образом.

{
    "data": "Id", 
    "autoWidth": true,
    "render": function (data, type, full) {
        if(type === 'display'){
             var attrDisabled = '';

             // If ticket is closed
             if(full['CurrentStatus'] === 'Closed'){
                // Disable the checkbox
                attrDisabled = 'disabled';
             }

             data = '<input type="checkbox" id="cticket" name="cticket" value="' + full.Id + '" ' + attrDisabled + '/>';
        }

        return data;
    }
}
0 голосов
/ 07 января 2019

Без полного кода вам очень сложно помочь. Но если после создания таблицы данных вы используете что-то вроде:

jQuery('table').each(function(data) {
        console.log(data);
});

Вы можете получить содержимое datatable и отредактировать флажок видимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...