可以使用AddRowData定义jqGridhover文本吗?

在jqGrid中,是否可以在添加行数据时定义单元格的标题(hover)文本?

var rowid; for(var j=0;j<10;j++) { rowid = jQuery.Guid.New(); jQuery("#myJqGrid").jqGrid('addRowData',rowid,{Amount:"$"+j+".00",Date:"09/30/2015"}); } 

我不希望不必在完成后循环网格,因为在添加行时,自定义hover文本所需的RowID和数据更容易获得。

谢谢!

如果您只需要在网格中的某些特定单元格上设置自定义工具提示,则可以使用setCell (请参阅此处的示例)。 如果你想在一些列的所有单元格上设置工具提示,但是使用自定义规则(不是像单元格的值一样的工具提示),你可以更好地使用cellattr 。 比如你可以使用

 {name: 'name', index: 'name', width: 70, cellattr: function (rowId, val, rawObject, cm, rdata) { return 'title="' + rawObject.name + ' (' + rawObject.note + ')"'; }} 

看到这里的演示显示以下工具提示:

在这里输入图像描述

如果您对性能感兴趣,则不应使用具有许多缺点的旧addRowData方法:

  • 如果您在input数据中有date并使用格式化程序:'date',那么您必须使用格式选项formatoptions: {reformatAfterEdit: true}以使date格式正确。 在文档中几乎没有关于选项的信息 。
  • 你插入行后的数据将全部放在同一页上。 要有正确的本地date分页,您必须重新加载网格一次。
  • gridview: true结合data参数的使用gridview: true参数(上面的演示)网格包含的关于addRowData要慢得多。 如果行数很大,可以看到差异。
  • 在创build使用cellattraddRowData的演示过程中,我在两行参数rowiddata交换的行中发现了jqGrid中的一个错误。 我刚刚发布了错误报告 。 因此, cellattrcellattr一起使用,您必须在jquery.jqGrid.src.js进行小的修改。

看到在这里使用addRowData的演示。 如果使用jquery.jqGrid.src.js修改版本(请参阅我的错误报告了解详细信息)