Идентификатор строки сохраняются отдельно из ячеек.Поэтому, если у вас есть свойство id
в row
(row.id
), вам не нужно добавлять столбец id
.Таким образом, вы можете просто удалить 'id'
из colNames
и соответствующий столбец id
в colModel
.
Более того, как я писал вам в предыдущем ответе, использование addRowData
происходит очень медленнокак использование data:filesystem
параметра jqGrid.Если вы попытаетесь сделать это со 100 или 1000 строками, вы увидите разницу очень ясно.
Вы можете использовать sorttype: 'int' для всех столбцов, чтобы сортировка столбцов работалаправильный.Дополнительное свойство formatter: 'integer' может улучшить внешний вид больших чисел.
ОБНОВЛЕНО : Я решил более точно выяснить разницу между использованием дополнительных скрытыхid
столбец и не имеющий id
столбца вообще.Допустим, у вас есть следующий ряд данных:
{id:5, total:10, free:20, used:30, percentage:40}
(не важно, являются ли значения такими строками, как «20», или числами, такими как 20
).Если вы включите свойство hidden:true
в определение столбца id
, строка данных в сетке будет выглядеть в упрощенной форме как
<tr id="5"><td style="display:none">5</td><td>10</td><td>20</td><td>30</td><td>40</td></tr>
, если вы просто удалите столбец id
строка будет выглядеть как
<tr id="5"><td>10</td><td>20</td><td>30</td><td>40</td></tr>
jqGrid использует только атрибут id tr
и никогда не использует информацию из дополнительного скрытого id
столбца .Так что, просто удалив ненужный столбец id
из colModel
, вы уменьшите использование памяти в сетке и немного улучшите производительность страницы.