我一直在使用出色的 jqGrid 插件,而且效果很好。不过最近,我被要求为网格实现一些自定义工具提示。现在,文档非常详尽,但没有说明如何(如果可能的话)实现这一点。
这是我正在寻找的示例:
|A 栏 | 栏 B |...
| 数据 | 数据 |...
| (鼠标悬停) - 数据 x
我已经在文档和源代码中搜索了如何/在哪里定义工具提示,但我得到的最接近的是编辑模式下按钮的自定义工具提示。我确实有 afterInsertRow 事件的事件处理程序 - 通过它我可以获得 rowId 等,但我不确定如何在该事件中定义 HTML 属性。
编辑:澄清一下,我想将单个单元格上的 title 属性设置为特定的数据(我已经在 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 事件之后的某个时间设置的:我已经通过并确定它是通过评论中概述的任何一种方法正确设置的,但不幸的是,我尝试更进一步时,无法获取此位置的源代码,这意味着我无法确切看到更改标题的位置。
编辑 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 的帮助下,我能够找到问题的根本原因。
任何帮助,将不胜感激