Я работал с отличным плагином jqGrid, и он прекрасно работает. Недавно, однако, меня попросили реализовать несколько пользовательских подсказок для сетки. Теперь документация очень тщательная, но в ней не рассматривается, как (если это вообще возможно) сделать это.
Вот пример того, что я ищу:
| цв А | col B | ...
| данные | данные | ...
| (наведение мыши) - данные x
Я искал в документации и источнике, как / где определять подсказки, но самое близкое, что я получил, - это настраиваемые подсказки для кнопок в режиме редактирования. У меня есть обработчик события afterInsertRow, благодаря которому я мог получить rowId и тому подобное, но я не уверен, как определить атрибуты HTML в этом событии.
РЕДАКТИРОВАТЬ: чтобы уточнить, я бы хотел установить атрибут заголовка в отдельной ячейке для определенного фрагмента данных (который я уже имею в модели jqgrid)
РЕДАКТИРОВАТЬ 2: я попытался вставить следующее в событие afterInsertRow, без радости, где aData - это модель JSON, а ExpirationDate - имя модели:
afterInsertRow: function(rowid, aData) {
grid.setCell(rowid, 'ExpirationDate', '', { title: aData.ExpiredBy });
следующий код в том же обработчике событий работает, однако:
grid.setCell(rowid, 'ExpirationDate', '', { color: 'red' });
РЕДАКТИРОВАТЬ 3: работая с превосходными предложениями redsquare, я определил, что атрибут title устанавливается когда-нибудь после события afterInsertRow: я прошел и определил, что он корректно устанавливается любым метод, описанный в комментариях, но, к сожалению, я получаю исходный код, недоступный для этого местоположения, когда пытаюсь пойти дальше, то есть я не могу точно видеть, где изменяется заголовок.
EDIT 4: (! Спасибо за ваше терпение и помогают мне работать через это) снова принимая комментарий RedSquare о попытке события loadComplete, я смог успешно получить и изменять атрибуты ячейки, но атрибуты названия упорно остается прежний:
loadComplete: function() {
var ids = grid.getDataIDs();
for (var i = 0; i < ids.length; i++) {
grid.setCell(ids[i], 'ExpirationDate', '', { title: 'FOO!'});
}
ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: посмотрите мой ответ ниже - я смог найти основную причину проблемы с помощью redsquare.
Любая помощь будет оценена