可以用 AddRowData 定义 jqGrid 悬停文本吗? [英] Can jqGrid hover text be defined with AddRowData?
问题描述
在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 和数据更容易获得.
谢谢!
如果您只需要在网格中的某些特定单元格上设置自定义工具提示,您可以使用 其中两个参数rowid
和data
被交换.我刚刚发布了 错误报告.因此,要将 cellattr
与 addRowData
一起使用,您必须在 jquery.jqGrid.src.js
中进行一些小修改.
查看使用 addRowData
的演示 这里.如果使用 jquery.jqGrid.src.js
的修改版本(详情请参阅我的错误报告)
In jqGrid, is it possible to define a cell's Title (hover) text while adding row data?
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"});
}
I'd prefer not to not to have to loop over the grid after it has completed, as the RowID and the data that is needed for the custom hover text are more readily available while the row is being added.
Thanks!
If you just need to set custom tooltip on some specific cells in the grid you can use setCell (see here an example). If you want to set tooltips on all cells of some column, but with a custom rule (not just the same tooltip like the cell value), you can better use cellattr. For example you can use
{name: 'name', index: 'name', width: 70,
cellattr: function (rowId, val, rawObject, cm, rdata) {
return 'title="' + rawObject.name + ' (' + rawObject.note + ')"';
}}
See the demo here which display the following tooltips:
If you have an interest for performance you should not use old addRowData
method which has many disadvantages:
- If you has date in input data and use formatter: 'date' then you have to use
formatoptions: {reformatAfterEdit: true}
to make the date correct formatted. You will find almost no information about the option in the documentation. - The data which you inserted row after the row will be all placed on the same page. To have correct local date paging you have to reload the grid one more time.
- Compare with the usage of
data
parameter in combination withgridview: true
parameter (the de demo above) the building of grid contain with respect ofaddRowData
is much slowly. You can see the difference if the number of row is large. - During creating of the demo which use
cellattr
andaddRowData
I found a bug in the jqGrid in the line where two parametersrowid
anddata
are swapped. I just now posted the bug report. So to usecellattr
together withaddRowData
you have to make small modification injquery.jqGrid.src.js
.
See the demo which use addRowData
here. If used modified version of jquery.jqGrid.src.js
(see my bug report for details)
这篇关于可以用 AddRowData 定义 jqGrid 悬停文本吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!