在jqGrid中,是否可以在添加行数据时定义单元格的标题(悬停)文本?
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"});
}
我不希望在完成后不必遍历网格,因为在添加行时,更容易获得RowID和自定义悬停文本所需的数据。
谢谢!
答案 0 :(得分:15)
如果您只需要在网格中的某些特定单元格上设置自定义工具提示,则可以使用setCell(请参阅here示例)。如果要在某些列的所有单元格上设置工具提示,但使用自定义规则(不仅仅是与单元格值相同的工具提示),则可以更好地使用cellattr。例如,您可以使用
{name: 'name', index: 'name', width: 70,
cellattr: function (rowId, val, rawObject, cm, rdata) {
return 'title="' + rawObject.name + ' (' + rawObject.note + ')"';
}}
查看显示以下工具提示的演示here:
如果您对性能感兴趣,则不应使用具有许多缺点的旧addRowData
方法:
formatoptions: {reformatAfterEdit: true}
使日期格式正确。您将在the documentation中找到几乎没有关于该选项的信息。data
参数结合gridview: true
参数(上面的de demo)的使用进行比较,网格的构建包含addRowData
的速度非常慢。如果行数很大,您可以看到差异。cellattr
和addRowData
的演示版时,我在the line的jqGrid中发现了一个错误,其中交换了两个参数rowid
和data
。我刚刚发布了the bug report。因此,要将cellattr
与addRowData
一起使用,您必须在jquery.jqGrid.src.js
中进行少量修改。查看使用addRowData
here的演示。如果使用jquery.jqGrid.src.js
的修改版本(有关详细信息,请参阅我的错误报告)