<?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: requestComplete : json pre process</title>
	<link>http://www.trirand.com/blog/?page_id=393/feature-request/requestcomplete-json-pre-process</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/feature-request/requestcomplete-json-pre-process/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>caseman on requestComplete : json pre process</title>
        	<link>http://www.trirand.com/blog/?page_id=393/feature-request/requestcomplete-json-pre-process#p1925</link>
        	<category>Feature Request</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/feature-request/requestcomplete-json-pre-process#p1925</guid>
        	        	<description><![CDATA[<p>I would like to pre-process the json (responseText) from the server before loading the grid. I have completed the work and created a patch:</p>
<p>Basically, I created a function call responseComplete, and (in code) mimic&#39;d loadComplete in set up. I then called responseComplete with the responseText from the server</p>
</p>
<pre>Index: grid.base.js
===================================================================
--- grid.base.js        (revision 3438)
+++ grid.base.js        (working copy)
@@ -56,6 +56,7 @@
        onRightClickRow: null,
        onPaging: null,
        onSelectAll: null,
+       responseComplete: null,
        loadComplete: null,
        loadError: null,
        loadBeforeSend: null,
@@ -499,11 +500,12 @@
                var ts = this;
                $("<div id="lui_&#34;+this.id+&#34;/" class="loadingui">").insertBefore(this);
                $(this).attr({cellSpacing:"0",cellPadding:"0"});
-               var onSelectRow = this.p.onSelectRow, ondblClickRow = this.p.ondblClickRow, onSortCol=this.p.onSortCol, loadComplete = this.p.loadComplete, loadError = this.p.loadError, loadBeforeSend = this.p.loadBeforeSend;
+               var onSelectRow=this.p.onSelectRow, ondblClickRow=this.p.ondblClickRow, onSortCol=this.p.onSortCol, responseComplete=this.p.responseComplete, loadComplete=this.p.loadComplete, loadError=this.p.loadError, loadBeforeSend=this.p.loadBeforeSend;
                var onRightClickRow = this.p.onRightClickRow, afterInsRow = this.p.afterInsertRow;
                if(typeof onSelectRow !== &#39;function&#39;) {onSelectRow=false;}
                if(typeof ondblClickRow !== &#39;function&#39;) {ondblClickRow=false;}
                if(typeof onSortCol !== &#39;function&#39;) {onSortCol=false;}
+               if(typeof responseComplete !== &#39;function&#39;) {responseComplete=false;}
                if(typeof loadComplete !== &#39;function&#39;) {loadComplete=false;}
                if(typeof onRightClickRow !== &#39;function&#39;) {onRightClickRow=false;}
                if(typeof loadError !== &#39;function&#39;) {loadError=false;}
@@ -693,7 +695,7 @@
                                switch(ts.p.datatype)
                                {
                                case "json":
-                                       $.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"json",data: gdata, complete:function(JSON,st) { if(st=="success") {addJSONData(eval("("+JSON.responseText+")"),ts.grid.bDiv); if(loadComplete) {loadComplete();}}}, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});
+                                       $.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"json",data: gdata, complete:function(JSON,st) { if(st=="success") {if(responseComplete){addJSONData(responseComplete(JSON.responseText),ts.grid.bDiv);}else{addJSONData(eval("("+JSON.responseText+")"),ts.grid.bDiv);}  if(loadComplete) {loadComplete();}  } }, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});
                                        if( ts.p.loadonce &#124;&#124; ts.p.treeGrid) {ts.p.datatype = "local";}
                                break;
                                case "xml":
</div></pre>
]]></description>
        	        	<pubDate>Mon, 08 Sep 2008 16:46:31 +0300</pubDate>
        </item>
</channel>
</rss>