Ошибка jqGrid при сортировке столбца даты и времени - PullRequest
0 голосов
/ 07 апреля 2011

Когда я устанавливаю [ sorttype: "datetime", datefmt: "d/m/Y H:i:s" ] в сетку jQuery, я получаю сообщение об ошибке при сортировке столбца datetime.

Сообщение: undefined. Но это происходит только в IE 8/9, в Firefox работает нормально.

У меня есть несколько таблиц, создаваемых динамически. Одна созданная таблица выглядит так:

<table id="files_1">
  <thead> 
    <tr>
      <th>Sequencial</th>
      <th>File</th> 
      <th>Datetime</th>
      <th>Size</th>
    </tr>
  </thead>
  <tbody>
  <tr>
    <td>1</td>
    <td>File 1</td>
    <td>07/04/2011 09:28:00</td>
    <td>100</td>
  </tr>
  <tr>
    <td>2</td>
    <td>File 2</td>
    <td>07/03/2011 09:28:00</td>
    <td>101</td>
  </tr>
  </tbody>
</table>

После этого идет функция javascript, подобная этой:

$(document).ready(function() {
    tableToGrid("#files_1", {
        height: 'auto',
        width: '100%',  
        rowNum: '2',
        rowTotal: '2', 
        hoverrows: true,
        colNames: ['', 'File', 'Datetime', 'Size (bytes)'],
        colModel: [
            {name:'Sequencial', index:'Sequencial', width: '30', stype:'text',  align: 'center', sorttype:'number'},
            {name:'File', index:'File', width: '370', stype:'text',  align: 'left'}, 
            {name:'Datetime', index:'Datetime', width: '', stype:'text',  align: 'center', datefmt: "d/m/Y H:i:s", sorttype: 'date'},
            {name:'Size', index:'Size', width: '', stype:'text', align: 'center', sorttype:'number'},
        ]
    });
});

Сетка создана и работает нормально.

Сортирует все столбцы, кроме столбца даты и времени.

Когда я пытаюсь отсортировать этот столбец (в IE 8 или IE 9), он возвращает красивое короткое сообщение (не определено) из таблицы, а не ошибку javascript. Как будто сетка не может получить какой-либо элемент / атрибут при сортировке.

Ответы [ 2 ]

2 голосов
/ 27 марта 2013

Попробуйте использовать полную информацию о формате даты:

 {
  name:'Datetime', 
  index:'Datetime', 
  width: '', 
  formatter:'date', 
  formatoptions: {newformat:'m/d/Y'}, 
  datefmt: 'd-M-Y', 
  sorttype: 'date'
 }
1 голос
/ 07 апреля 2011

Есть еще одна простая ошибка: запятая перед] в конце определения colModel.Комбинация },] является синтаксической ошибкой.

Демонстрационная версия включает код, который вы разместили, и я не вижу ошибок по крайней мере в IE9.

Вы можете дополнительно проверитьчто в вашу версию jquery.jqGrid.min.js, которую вы скачали, включены следующие модули: grid.base.js, grid.common.js, grid.tbltogrid.js.Для этого вы можете просто открыть jquery.jqGrid.min.js в текстовом редакторе и выполнить поиск в комментарии в начале файла после слов «Modules:» для grid.base.js, grid.common.js, grid.tbltogrid.js.

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