2015-12-09 7 views
0

Я пытаюсь следовать этому examles: https://www.datatables.net/manual/server-sideDatatables. Обработка на стороне сервера. Как получить информацию о таблице?

Javascript код из примера:

$(document).ready(function() { 
    $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": "scripts/server_processing.php" 
    }); 
}); 

HTML код:

<table id="example" class="display" cellspacing="0" width="100%"> 
     <thead> 
      <tr> 
       <th>First name</th> 
       <th>Last name</th> 
       <th>Position</th> 
       <th>Office</th> 
       <th>Start date</th> 
       <th>Salary</th> 
      </tr> 
     </thead> 
     <tfoot> 
      <tr> 
       <th>First name</th> 
       <th>Last name</th> 
       <th>Position</th> 
       <th>Office</th> 
       <th>Start date</th> 
       <th>Salary</th> 
      </tr> 
     </tfoot> 
    </table> 

И это серверный скрипт:

<?php 

/* 
* DataTables example server-side processing script. 
* 
* Please note that this script is intentionally extremely simply to show how 
* server-side processing can be implemented, and probably shouldn't be used as 
* the basis for a large complex system. It is suitable for simple use cases as 
* for learning. 
* 
* See http://datatables.net/usage/server-side for full details on the server- 
* side processing requirements of DataTables. 
* 
* @license MIT - http://datatables.net/license_mit 
*/ 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* Easy set variables 
*/ 

// DB table to use 
$table = 'datatables_demo'; 

// Table's primary key 
$primaryKey = 'id'; 

// Array of database columns which should be read and sent back to DataTables. 
// The `db` parameter represents the column name in the database, while the `dt` 
// parameter represents the DataTables column identifier. In this case simple 
// indexes 
$columns = array(
    array('db' => 'first_name', 'dt' => 0), 
    array('db' => 'last_name', 'dt' => 1), 
    array('db' => 'position', 'dt' => 2), 
    array('db' => 'office',  'dt' => 3), 
    array(
     'db'  => 'start_date', 
     'dt'  => 4, 
     'formatter' => function($d, $row) { 
      return date('jS M y', strtotime($d)); 
     } 
    ), 
    array(
     'db'  => 'salary', 
     'dt'  => 5, 
     'formatter' => function($d, $row) { 
      return '$'.number_format($d); 
     } 
    ) 
); 

// SQL server connection information 
$sql_details = array(
    'user' => '', 
    'pass' => '', 
    'db' => '', 
    'host' => '' 
); 


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* If you just want to use the basic configuration for DataTables with PHP 
* server-side, there is no need to edit below this line. 
*/ 

require('ssp.class.php'); 

echo json_encode(
    SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns) 
); 

Как сервер получает информацию о таблица? Текущий номер страницы, количество отображаемых записей и т. д.? И как передать эту информацию в ASP.NET MVC-контроллер?

ответ

1

я нашел на there

Использование JQuery DataTables с ASP.NET MVC для серверного фильтрации, сортировки и пейджинговой

1

С каждого запроса Ajax JQuery DataTables посылает параметры, описанные в разделе Sent Parameters.

Например, start и length параметры указывают первый номер записи и количество записей запрашиваемых смотрите ниже:

start
пейджинга индикатор первой записи. Это начальная точка в текущем наборе данных (индекс на основе индекса - то есть 0 - первая запись).

length
Число записей, которые может отображаться в таблице при текущей ничьей. Ожидается, что количество возвращенных записей будет равно этому числу, если только сервер не получит меньше записей. Обратите внимание, что это может быть -1, чтобы указать, что все записи должны быть возвращены (хотя это отрицает любые преимущества серверной обработки!)