Я пытаюсь отобразить DataTable, который автоматически вставляет и идентифицирует каждую строку.
Согласно http://datatables.net/release-datatables/examples/server_side/ids.html, и я понял, хорошо, если я передам DT_RowId «столбец» с каждой строкой, он должен сделать это автоматически.
Я использую пример PHP, который они предоставляют здесь: http://datatables.net/release-datatables/examples/data_sources/server_side.html
Я создал MySQL View, чтобы иметь динамическую таблицу, которая превращает индекс таблицы в столбец с именем DT_RowId и добавляется в переменную $ aColumns для вывода в JSON.
Значение печатается в формате JSON, но ничего не происходит. Я на 99% уверен, что это потому, что предоставляемый ими PHP-код не отображает имя столбца
В примере JSON должен быть:
"aaData": [
{
"0": "Gecko",
"1": "Firefox 1.0",
"2": "Win 98+ / OSX.2+",
"3": "1.7",
"4": "A",
"DT_RowId": "row_7",
"DT_RowClass": "gradeA"
}, { ... }
но PHP выводит без ключа
"aaData": [
{
"Gecko",
"Firefox 1.0",
"Win 98+ / OSX.2+",
"1.7",
"A",
"row_7",
"gradeA"
}, {...}
Видя, что я подумал: «Как на стороне клиента javascript должен знать, что последний столбец в строке - DT_RowId?». Поэтому я отредактировал PHP для вывода JSON с ключевыми данными, как в их примере, и получаю:
{
"sEcho": 1,
"iTotalRecords": "4",
"iTotalDisplayRecords": "4",
"aaData": [
{
"Nombre": "Some Name",
"username": "some username",
"Email": "some email",
"lastModified": "0000-00-00 00:00:00",
"lastLogin": "2012-02-23 12:04:55",
"rolname": "Some string",
"DT_RowId": "2"
}, {...},{...},{...} ] }
но я получаю предупреждение " Предупреждение DataTables: запрошенный неизвестный параметр '0' формирует источник данных для строки 0 "
Мой JSON отформатирован как у них, и я использую
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "scripts/id.php"
, поэтому я не знаю, почему это недопустимый JSON для DataTable для рендеринга. Возможно, я упускаю что-то глупое, но я застрял здесь.
Спасибо за любую помощь