Jqgrid正在缓存我想在我清除它之后? 函数clearJqGrid() { //获取jqGrid所有行的ID var rowIds=$('#messages').jqGrid('getdataid'); //遍历行并删除其中的每一行 对于(var i=0,len=rowIds.length;i

Jqgrid正在缓存我想在我清除它之后? 函数clearJqGrid() { //获取jqGrid所有行的ID var rowIds=$('#messages').jqGrid('getdataid'); //遍历行并删除其中的每一行 对于(var i=0,len=rowIds.length;i,jqgrid,Jqgrid,从网格中删除所有本地数据的最有效方法可以是代码: function clearJqGrid() { // get IDs of all the rows of jqGrid var rowIds = $('#messages').jqGrid('getDataIDs'); // iterate through the rows and delete each of them for(v

从网格中删除所有本地数据的最有效方法可以是代码:

function clearJqGrid()
        {
            // get IDs of all the rows of jqGrid
            var rowIds = $('#messages').jqGrid('getDataIDs');
            // iterate through the rows and delete each of them
            for(var i=0,len=rowIds.length;i<len;i++)
            {
                var currRow = rowIds[i];
                $('#messages').jqGrid('delRowData', currRow);
            }   
        }
在其他情况下,可以有效地使用
GridUnload()
,这会额外破坏列标题、寻呼机和所有网格元素。因此,要再次显示网格,需要重新创建网格


在大多数情况下,您不需要删除网格。ajax调用完成后,jqGrid将删除网格自身。仅当您手动将网格的数据类型从
dytatype:'json'
切换到
dytatype:'local'
并返回时,您才需要执行此操作。

delRowData
仅deletes数据客户端。您是否也在尝试执行客户端排序?是否可以在问题中包含更多完整的代码?您使用哪种数据类型?
dytatype:'json'
?如何在网格中填充数据?为什么需要删除该情况下的任何行数据?我想您可能会产生奇怪的效果,只有在使用
loadonce:true
并在删除本地数据之前将数据类型切换为
dytatype:'json'
。无论如何,您使用的方法都是现有最慢的方法之一。可以对其进行优化,但需要更多关于jqrid的信息。
// get DOM element of the table
var myGridDomNode = $('#messages')[0];

// delete internal local grid data 
myGridDomNode.p.data = [];
myGridDomNode.p._index = {};

// delete all grid contain excepting the first dummy invisible row
var trf = $("tbody:first tr:first",myGridDomNode)[0]; // save first row
$("tbody:first",myGridDomNode).empty().append(trf);