<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>jQuery Grid Plugin - jqGrid - Topic: Optimize JQ Grid Loading - How to reduce the Loading Time?</title>
	<link>http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time</link>
	<description><![CDATA[Grid plugin]]></description>
	<generator>Simple:Press Version 5.7.5.3</generator>
	<atom:link href="http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>tony on Optimize JQ Grid Loading - How to reduce the Loading Time?</title>
        	<link>http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27645</link>
        	<category>jqGrid Roadmap</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27645</guid>
        	        	<description><![CDATA[<p>Hello,</p>
</p>
<p>This not correct. Just call clearGridData WITHOUT to use trigger("reloadGrid");</p>
</p>
<p>While the data is deleted you reload the data again which causes the problem.</p>
<p>Insted if you want to use reloading you will need to call reloading only within setTimeout function.</p>
</p>
<p>Regards</p>
]]></description>
        	        	<pubDate>Wed, 31 Oct 2012 13:45:54 +0200</pubDate>
        </item>
        <item>
        	<title>Bommannan.R on Optimize JQ Grid Loading - How to reduce the Loading Time?</title>
        	<link>http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27643</link>
        	<category>jqGrid Roadmap</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27643</guid>
        	        	<description><![CDATA[<p>Thanks Oleg for the quick response. It worked and reduced the grid load time. But, sort time still takes more time. Is there any configuration for reducing the sort time?</p>
</p>
<p>Also, is there any method to delete all the rows from the grid. currently we are using $grid.clearGridData().trigger("reloadGrid")&#160;? While we are using clearGridData() method, browser throws the below warning:</p>
</p>
<p>Stop running this script?</p>
<p>A script on this page is causing your web browser to run slowly. If it continues to run, your computer might become unresponsive.</p>
]]></description>
        	        	<pubDate>Wed, 31 Oct 2012 11:00:01 +0200</pubDate>
        </item>
        <item>
        	<title>OlegK on Optimize JQ Grid Loading - How to reduce the Loading Time?</title>
        	<link>http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27640</link>
        	<category>jqGrid Roadmap</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27640</guid>
        	        	<description><![CDATA[<p>Hi!</p>
<p>You should use <strong>data</strong> option of jqGrid and create the grid with all the data in one operation. Usage of <strong>addRowData</strong> is slower bacause it insert the data in the grid row after the row. Every inserting of the row follows recalculation of position of <em>all</em> other exsiting element on the page or at least to reflow (see <a href="https://developers.google.com/speed/articles/reflow" target="_blank">here</a> for more details).</p>
<p>Usage of <strong>data</strong>&#160;option event without virtual scrolling (without <strong>scroll: true</strong>) should get you much performance impronement. It&#39;s important to continut to use <strong>gridview: true</strong> which you already use now.</p>
<p>If you need to update contain on existing grid you can use <strong>getGridParam("data")</strong> to get the <em>reference</em> to the internal <strong>data</strong> parameter, then you can change it by direct assignment and trigger <strong>reloadGrid</strong> event.</p>
<p>Best regards<br />Oleg</p>
]]></description>
        	        	<pubDate>Tue, 30 Oct 2012 13:12:45 +0200</pubDate>
        </item>
        <item>
        	<title>Bommannan.R on Optimize JQ Grid Loading - How to reduce the Loading Time?</title>
        	<link>http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27639</link>
        	<category>jqGrid Roadmap</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/jqgrid-roadmap/optimize-jq-grid-loading-how-to-reduce-the-loading-time#p27639</guid>
        	        	<description><![CDATA[<p>Hi All,</p>
<p>As a project requirement, there are 5 grids in a page. I tried by loading one JQ grid using Array data load with 1000 records containing 1 checkbox column and 7 text columns.</p>
<p>For loading 1000 records, JQ grid takes 3 seconds in 4GB RAM system and 20 seconds in 2GB RAM system&#160;<img class="spSmiley" style="margin:0" title="Frown" src="/blog/wp-content/forum-smileys/sf-frown.gif" alt="Frown" /></p>
<p>Is there any configuration can be done, in order to reduce the load time?</p>
</p>
<p>Highly appreciate your value add comments &#38; suggestions.</p>
</p>
<p>Here is the code I&#39;m using:</p>
<p>var JQGridTest = JQGridTest &#124;&#124; {};</p>
<p>JQGridTest.PersonGrid = (function () {<br />&#160;&#160;&#160; var $PersonGrid;</p>
<p>&#160;&#160;&#160; var init = function () {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $PersonGrid = $("#PersonGrid").jqGrid(buildpersonGridInitObject())<br />&#160;&#160;&#160; };</p>
<p>&#160;&#160;&#160; var addPersonDetails = function () {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var data = [];<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (var i = 0; i &#60; 1000; i++) {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; data[i] = {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PersonNumber: "P " + i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; BDate: "01/01/" + i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JobStatus: "Working",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JobStatusValue : "WKNG",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DEPT: "DEPT " + i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JobDescription: "Job " + i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MinExp: i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MaxExp: i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PersonDbKey: i,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Person_Person_DbKey: i + i&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; $PersonGrid.addRowData("Person_Person_DbKey", data, "last");<br />&#160;&#160;&#160; };</p>
<p>&#160;&#160;&#160; var buildpersonGridInitObject = function () {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; datatype: "local",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; scroll: true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; height: 500,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; autowidth:true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; width: 945,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; shrinkToFit: false,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; multiselect: true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sortname: "PersonNumber",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; loadonce: false,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sortable: true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; altRows: true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; altclass: "alternateRow",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rowNum: 10000,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; gridview: true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; colNames: [<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "Person number",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "birth date",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "JOB Status Value",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "JOB status",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "DEPT",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "Job description",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "min exp",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "max exp",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "Person DbKey",<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "Person_Person_Dbkey"<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ],<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; colModel: [<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "PersonNumber", index: "PersonNumber", sortable: true, width: 80, align: "center", sorttype: "text" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "BDate", index: "BDate", sortable: true, sorttype: "date", width: 80, align: "center", sorttype: "date" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "JobStatus", index: "JobStatus", sortable: true, hidden: true, sorttype: "text" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "JobStatusValue", index: "JobStatusValue", sortable: true, width: 80, align: "center", sorttype: "integer" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "DEPT", index: "DEPT", sortable: true, width: 100, align: "center", sorttype: "text" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "JobDescription", index: "JobDescription", sortable: true, width: 368, align: "left", sorttype: "text" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "MinExp", index: "MinExp", sortable: true, sorttype: "integer", width: 80, align: "center" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "MaxExp", index: "MaxExp", sortable: true, sorttype: "integer", width: 80, align: "center" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "PersonDbKey", index: "PersonDbKey", sortable: true, hidden: true, sorttype: "integer" },<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { name: "Person_Person_DbKey", index: "Person_Person_DbKey", key: true, sortable: true, hidden: true, sorttype: "text" }<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ]<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; };<br />&#160;&#160;&#160; };</p>
<p>&#160;&#160;&#160; return {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; init: init,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; addPersonDetails: addPersonDetails<br />&#160;&#160;&#160; };</p>
<p>})();</p>
</p>
<p>Calling jQuery Code:</p>
<p>$(document).ready(function () {<br />&#160;&#160;&#160; JQGridTest.PersonGrid.init();<br />&#160;&#160;&#160; $("#selectMinMax").click(function () {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var d1 = new Date();<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; JQGridTest.PersonGrid.addPersonDetails();<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var d2 = new Date();<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var d3 = (d2 &#8211; d1);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var seconds = Math.round((d2 &#8211; d1)/1000)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $("#loadTime").text(d3 + " , " + seconds);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //alert(d3);<br />&#160;&#160;&#160; });<br />});</p>
</p>
<p>HTML:</p>
<p>&#60;table id="PersonGrid"&#62;&#60;/table&#62;</p>
<p>&#60;input type="button" id="selectPerson" name="selectPerson" value="select" class="gridbutton" /&#62;</p>
</p>
<p>Thanks,<br />Bommannan.R</p>
<p><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><br /></span><br /></span><br /></span></span></span></span></p>
<p><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"><span style="font-family: Consolas; color: #0000ff; font-size: x-small;"></span></span></span></p></p>
]]></description>
        	        	<pubDate>Tue, 30 Oct 2012 10:16:38 +0200</pubDate>
        </item>
</channel>
</rss>