Проблема загрузки данных в jqgrid занимает много времени, в настоящее время я использую
for(var i=0;i<homeFileList.length;i++)
jQuery("#tblHomeFileList").jqGrid('addRowData',i+1,homeFileList[i]);
для загрузки данных в сетку, но поскольку она повторяется, она занимает много времени, есть ли способ загрузить данные быстрее?
Я прочитал addRowData
, можно даже вставить несколько данных одновременно ( Чтение ссылки ), я думал, что это может быть быстрее, но это ничего не добавляет в мою сетку
См. Мой код ниже.
var homeFileList=[];
$(xml).find('IPC').each(function(){
$(this).children('homefilelist').each(function(){
$(this).children('homefilelist_info').each(function(){
var row={};
isPresent=true;
row.permission=$(this).attr('permission');
row.hardlink=$(this).attr('hardlink');
row.owner=$(this).attr('owner');
row.group=$(this).attr('group');
row.fsize=$(this).attr('fsize');
row.month=$(this).attr('month');
row.date=$(this).attr('date');
row.time=$(this).attr('time');
row.filename=$(this).attr('filename');
homeFileList.push(row);
});
});
});
Обновление после комментария Олега
//HomeFileList
if(homeFileList.length>0)
{
jQuery("#tblHomeFileList").jqGrid({
datatype: "clientSide",
colNames:['Permission','Hardlink','Owner','Group','Size','Month','Date','Year/Time','Filename'],
colModel:[
{name:'permission',index:'permission', align:"left",width:"100px"},
{name:'hardlink',index:'hardlink', align:"left", width:"80px"},
{name:'owner',index:'owner', align:"left",width:"100px"},
{name:'group',index:'group', align:"left"},
{name:'fsize',index:'fsize', align:"left", width:"90px"},
{name:'month',index:'month', align:"left",width:"100px"},
{name:'date',index:'date', align:"left", width:"80px"},
{name:'time',index:'time', align:"left",width:"100px"},
{name:'filename',index:'filename', align:"left"}
],
pager : '#HomeFileListGridpager',
rowNum:10,
rowList:[10,50,100],
scrollOffset:0,
height: 'auto',
autowidth:true,
viewrecords: true,
gridview: true
});
/*This for loop loads my data from homeFileList into grid
for(var i=0;i<homeFileList.length;i++)
jQuery("#tblHomeFileList").jqGrid('addRowData',i+1,homeFileList[i]);*/
alert($.isArray(homeFileList)); //returns true
jQuery("#tblHomeFileList").jqGrid('addRowData',homeFileList);
jQuery("#tblHomeFileList").setGridParam({rowNum:10}).trigger("reloadGrid");
}
else
gridUnavailable("#tblHomeFileList");
XML-ответ (я сократил xml ниже, так как это огромные данные внутри homefilelist
)
<?xml-stylesheet type="text/xsl" href="client9.xsl"?><client version="1.0"><IPC>
<homefilelist>
<homefilelist_info permission='-rwxr-xr-x' hardlink='1' owner='asimon' group='support' fsize='61597' month='Mar' date='22' time='2011' filename='libpmwspsvrcmn.so' />
<homefilelist_info permission='-rwxr-xr-x' hardlink='1' owner='asimon' group='support' fsize='21778' month='Mar' date='22' time='2011' filename='libpmorablk.so' />
<homefilelist_info permission='-rwxr-xr-x' hardlink='1' owner='asimon' group='support' fsize='36226' month='Mar' date='22' time='2011' filename='libpmjvm.so' />
</homefilelist>
</IPC>
</client>