Отображение «Обработка ...» в datatable, когда данные пусты в представлении MVC - PullRequest
0 голосов
/ 13 сентября 2018

Отображение «Обработка ...» в datatable, когда данные пусты в представлении MVC.Я сбиваю с толку то, почему это показывает " Обработка ... ".Если есть пустые данные, то нужно отобразить « Нет данных в таблице »

Вот мой код

[Вид сбоку]

    <div class="row">
    <div class="col-md-12">
        <table id="dataGrid" class="display table table-striped table-bordered dt-responsive nowrap" width="100%" cellspacing="0">
            <thead>
                <tr>
                    <th>Id</th>
                    <th>Document Name</th>
                    <th>Other Document Name</th>
                    <th>Image</th>
                    <th>Action</th>
               </tr>
            </thead>
       </table>
   </div>
</div>
<script>
    $(document).ready(function () {
        var data = {
            'customerId': @Model.Id,                                
        }
        addAntiForgeryToken(data);        
        // DataTable
        $("#dataGrid").DataTable({                                
            "scrollX": true,  // scrolling horizontal
            "bSort": false,
            "bFilter": false,
            "processing": true, // for show progress bar
            "serverSide": true, // for process server side
            "pageLength": 5,
            "lengthMenu": [5, 10, 50, 100, 1000, 10000],
            "ajax": {
                "url": "/Admin/FreeLancer/list",
                "type": "POST",
                "datatype": "json",
                "data": data,
                "success": function (data) {
                }
            },
            "columnDefs":
            [{
                "targets": [0],
                "visible": false,
                "searchable": false,
                "orderable": false,
            }
                ],
            "columns": [
                { "data": "Id", "name": "Id", "autoWidth": true },
                { "data": "DocumentName", "name": "DocumentName", "autoWidth": true },                                    
                { "data": "OtherDocumentName", "name": "otherdocumentname", "autoWidth": true },                                    
                { "data": "UploadID", "name": "UploadID", "autoWidth": true },
                {
                    "render": function (data, type, row) {
                        //return "<a target='_blank' href='/Download/GetDownload?downloadId=" + row.UploadID + "' class='btn btn-info'>Download </a>" +
                        //"<a href='#' class='btn btn-danger' onclick=DeleteData('" + row.Id + "');>Delete</a>"; }
                        return "<a href='#' class='btn btn-danger' onclick=DeleteData('" + row.Id + "');>Delete</a>";
                    }
                },
            ],
        });
    });
</script>

[Сторона контроллера]

[HttpPost]
public IActionResult List(int customerId)        
{
    // getting all data  
    var dataList = _customerRegister.DocumentList(customerId,
        start: Convert.ToInt32(Request.Form["start"]),
        pageSize: Request.Form["length"].ToString() != null ? Convert.ToInt32(Request.Form["length"].ToString()) : 0,
        sortColumnName: Request.Form["columns[" + Request.Form["order[0][column]"] + "][name]"],
        sortColumnDirection: Request.Form["order[0][dir]"]);

    var data = dataList.Select(x => new
    {
        Id = x.Id,
        DocumentName = x.DocumentName,
        OtherDocumentName = x.OtherDocumentName,
        UploadID = x.UploadID,
    });

    //returning json data
    Response.StatusCode = 200;
    return Json(new { draw = Request.Form["draw"], recordsfiltered = dataList.TotalCount, recordstotal = dataList.TotalCount, data = data });
}

Это код, но я не думаю, что это какая-либо проблема в коде

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Вы проверили свойство DataTables dom?

$("#table_selector").DataTable({ 
dom: 'r<"datatable-header"fl><"datatable-scroll"t><"datatable-footer"ip>',
processing: true,
serverSide: true
});

Опции

Встроенные элементы управления таблицей в DataTables:

l - управление вводом с изменением длины

f - фильтрация ввода

t - таблица!

i - сводка информации таблицы

p - управление разбиением на страницы

r - отображение элемента обработки

https://datatables.net/reference/option/dom

0 голосов
/ 13 сентября 2018

Я вижу, что нет кода для отображения сообщения. Если вы используете таблицу данных JQuery, которую я заметил, вы можете использовать:

oLanguage: {
      sEmptyTable: "Message",
      sZeroRecords: "Message",
    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...