Если вам просто нужно установить пользовательскую подсказку для некоторых определенных ячеек в сетке, вы можете использовать setCell (см. здесь пример). Если вы хотите установить всплывающие подсказки для всех ячеек некоторого столбца, но с настраиваемым правилом (а не только с той же подсказкой, что и значение ячейки), лучше использовать cellattr . Например, вы можете использовать
{name: 'name', index: 'name', width: 70,
cellattr: function (rowId, val, rawObject, cm, rdata) {
return 'title="' + rawObject.name + ' (' + rawObject.note + ')"';
}}
См. Демонстрационную версию здесь , в которой отображаются следующие подсказки:
Если у вас есть интерес к производительности, вы не должны использовать старый addRowData
метод, который имеет много недостатков:
- Если у вас есть дата во входных данных и вы используете форматтер: 'date', тогда вы должны использовать
formatoptions: {reformatAfterEdit: true}
для правильного форматирования даты. Вы почти не найдете информации об опции в документации .
- Данные, которые вы вставили в строку после строки, будут размещены на одной странице. Для корректной локальной подкачки даты вам необходимо перезагрузить сетку еще раз.
- Сравните с использованием параметра
data
в сочетании с параметром gridview: true
(демоверсия выше), построение сетки в отношении addRowData
происходит очень медленно. Вы можете увидеть разницу, если количество строк большое.
- Во время создания демонстрации, использующей
cellattr
и addRowData
, я обнаружил ошибку в jqGrid в строке , где два параметра rowid
и data
поменялись местами. Я только что опубликовал отчет об ошибке . Таким образом, чтобы использовать cellattr
вместе с addRowData
, необходимо внести небольшие изменения в jquery.jqGrid.src.js
.
Смотрите демонстрацию, в которой используется addRowData
здесь . Если используется измененная версия jquery.jqGrid.src.js
(подробности см. В моем отчете об ошибке)