<?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: Dynamically loading/initiating jqGrid</title>
	<link>http://www.trirand.com/blog/?page_id=393/help/dynamically-loadinginitiating-jqgrid</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/help/dynamically-loadinginitiating-jqgrid/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>dimaash on Dynamically loading/initiating jqGrid</title>
        	<link>http://www.trirand.com/blog/?page_id=393/help/dynamically-loadinginitiating-jqgrid#p20008</link>
        	<category>Help</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/help/dynamically-loadinginitiating-jqgrid#p20008</guid>
        	        	<description><![CDATA[<p>Hi guys,</p>
<p>I have the following situation: I have a main grid which i populate from database and everything works just fine. On the same page</p>
<p>( document ) i have a toolbar of buttons whose clicks i have wired to creating a separate jqGrids. Basically each button represents a table in the database. When user clicks on a button, a currently displayed grid gets hidden using a wrapped div ( $(#"grid_wrapper1").hide() ) then i create a new grid for the table which user has clicked on. Everything works, the grid is displayed correctly. The only problem is the pager. The 1st time user clicks on a button the pager navigation ( buttons and display message saying which page it is ) are placed correctly. Then, if user click again on the same table button, the pager slides/shifts down a little. Then again and again until it is simply out of view. Basically it goes completely down to the pager toolbar and i can&#39;t see it.</p>
<p>What am i doing wrong here? Do i have to GridUnload or GridDestroy each grid before creating it? Or is there a way of somehow clearing the pager contents and reloading it? Please help. Here is the code that i have:</p>
</p>
<p><input type='button' class='sfcodeselect' name='sfselectit2843' value='Select Code' data-codeid='sfcode2843' /></p>
<div class='sfcode' id='sfcode2843'>
<p>function getCustomers() {</p>
<p><span style=&#34;white-space: pre;&#34;> </span>$(&#34;#grid_wrapper2&#34;).hide();</p>
<p><span style=&#34;white-space: pre;&#34;> </span>$(&#34;#grid_wrapper1&#34;).show();</p>
<p>}</p>
<p>function getContracts() {</p>
<p><span style=&#34;white-space: pre;&#34;><span style=&#34;white-space:pre&#34;> </span> </span>$(&#34;#grid_wrapper1&#34;).hide();</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span> </span>$(&#34;#contracts_grid&#34;).jqGrid({</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>datatype: function (pdata) {&#160;getContractsAJAXCALL(pdata);},</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>colNames: [&#39;contract_num&#39;, &#39;StartDate&#39;, &#39;EndDate&#39;],</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>colModel: [</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{ name: &#39;BPCS&#39;, index: &#39;BPCS&#39;, width: 80, align: &#39;left&#39;, editable: false, search: true, <span style=&#34;white-space:pre&#34;> </span>searchoptions: { sopt: [&#39;eq&#39;]} },</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>{ name: &#39;StartDate&#39;, index: &#39;StartDate&#39;, width: 60, align: &#39;left&#39;, editable: false},</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>{ name: &#39;EndDate&#39;, index: &#39;EndDate&#39;, width: 60, align: &#39;left&#39;, editable: false},</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>&#160;&#160;],</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>rowNum: 5,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>rowList: [10, 20, 30],</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>mtype: &#34;POST&#34;,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>imgpath: &#39;css/redmond/images&#39;,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>pager: jQuery(&#39;#contracts_grid_pager&#39;),</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>sortname: &#39;BPCS&#39;,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>viewrecords: true,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>sortorder: &#34;asc&#34;,</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>caption: &#34;Contracts&#34;,</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>cellEdit: false,</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>width: 500,</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>onSelectRow: function (id) {},</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>onPaging: function(pgButton){},</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>gridComplete: function () {}</p>
<p><span style=&#34;white-space: pre;&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>}).navGrid(&#39;#contracts_grid_pager&#39;, { del: false, add: false, edit: true },</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{}, // &#160;default settings for edit</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{}, // &#160;default settings for add</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{}, &#160;// delete</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{closeOnEscape: true, multipleSearch: false, closeAfterSearch: true }, // search</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{});</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>$(&#34;#grid_wrapper2&#34;).show();</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space:pre&#34;> </span></span>});</p>
<p>}</p>
<p>$(document).ready(function () {</p>
<p>&#160;<span style=&#34;white-space:pre&#34;> </span>/* Wiring button clicks to get tables from DB */</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>$(&#34;#btn1&#34;).click(function(){getCustomers();});</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>$(&#34;#btn2&#34;).click(function(){getContracts();});</p>
<p><span style=&#34;white-space:pre&#34;> </span></p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>jQuery(&#34;#main_grid&#34;).jqGrid({</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>datatype: function (pdata) {getData(pdata);},</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>colNames: [&#39;CustomerID&#39;, &#39;CustomerName&#39;, &#39;TerritoryID&#39;],</p>
<p><span style=&#34;white-space:pre&#34;> </span>&#160;<span style=&#34;white-space:pre&#34;> </span>colModel: [</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{ name: &#39;CustomerID&#39;, index: &#39;CustomerID&#39;, width: 80, align: &#39;left&#39;, editable: <span style=&#34;white-space:pre&#34;> </span>true, search: true, searchoptions:<span style=&#34;font-size: 12.0563px; &#34;>{ sopt: [&#39;eq&#39;]} },</span></p>
<p>&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;{ name: &#39;CustomerName&#39;, index: &#39;CustomerName&#39;, width: 80, align: &#39;left&#39;, editable: <span style=&#34;white-space:pre&#34;> </span>true, edittype: &#34;text&#34;,editoptions: { size:20,maxLength:20} },</p>
<p>&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;{ name: &#39;TerritoryID&#39;, index: &#39;TerritoryID&#39;, width: 60, align: &#39;left&#39;, editable: <span style=&#34;white-space:pre&#34;> </span>true, edittype: &#34;select&#34;, editoptions:{ value: &#34;9:98; 8:97; 7:96&#34;} },</p>
<p>&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;],</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>rowNum: 5,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>rowList: [10, 20, 30],</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>imgpath: &#39;css/redmond/images&#39;,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>pager: jQuery(&#39;#main_grid_pager&#39;),</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>sortname: &#39;CustomerID&#39;,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>viewrecords: true,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>multiselect: true,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>multiboxonly: true,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>sortorder: &#34;asc&#34;,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>caption: &#34;Customers&#34;,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>cellEdit: false,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>editurl: &#34;WebService1.asmx/UpdateCustomer&#34;,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>width: 500,</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>onSelectRow: function (id) {},</p>
<p><span style=&#34;white-space:pre&#34;><span style=&#34;white-space:pre&#34;> </span></span>onPaging: function(pgButton){},</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>gridComplete: function () {}</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>}).navGrid(&#39;#main_grid_pager&#39;, { del: true, add: false, edit: true },</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{closeOnEscape: true, drag: false}, // &#160;default settings for edit</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{}, // &#160;default settings for add</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{mtype: &#34;POST&#34;,reloadAfterSubmit:true,url: <span style=&#34;white-space:pre&#34;> </span>&#34;WebService1.asmx/DeleteSelectedCustomers&#34;,</p>
<p><span style=&#34;white-space:pre&#34;><span style=&#34;white-space:pre&#34;> </span> </span>serializeDelData: function(postdata){ /*code for serliazing json data */ }</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>},</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{closeOnEscape: true, multipleSearch: false, closeAfterSearch: true, drag: false},</p>
<p><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>{} /* view parameters*/);</p>
<p><span style=&#34;white-space:pre&#34;><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>}</span>);</p>
<p><span style=&#34;white-space:pre&#34;> </span>});</p>
</p>
<p>HTML of the document containg main_grid:</p>
<p>&#160;&#60;div id=&#34;grid_wrapper1&#34; class=&#34;ui-corner-all floatLeft&#34;&#62;<br /><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>&#60;table id=&#34;main_grid&#34; class=&#34;scroll&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34;&#62;&#60;/table&#62;<br /><span style=&#34;white-space:pre&#34;> <span style=&#34;white-space:pre&#34;> </span></span>&#60;div id=&#34;main_grid_pager&#34; class=&#34;scroll&#34; style=&#34;text-align: center;&#34;&#62;&#60;/div&#62;<br />&#160;&#160;&#60;/div&#62;</p>
<p>&#160;&#60;div id=&#34;grid_wrapper2&#34; class=&#34;ui-corner-all floatLeft&#34;&#62;</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space: pre;&#34;> </span></span>&#60;table id=&#34;contracts_grid&#34; class=&#34;scroll&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34;&#62;&#60;/table&#62;</p>
<p><span style=&#34;white-space: pre;&#34;> <span style=&#34;white-space: pre;&#34;> </span></span>&#60;div id=&#34;contracts_grid_pager&#34; class=&#34;scroll&#34; style=&#34;text-align: center;&#34;&#62;&#60;/div&#62;</p>
<p>&#160;&#60;/div&#62;</p>
</div>
]]></description>
        	        	<pubDate>Sun, 26 Sep 2010 17:46:24 +0300</pubDate>
        </item>
</channel>
</rss>