<?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: Summing a  Column with local data</title>
	<link>http://www.trirand.com/blog/?page_id=393/help/summing-a-column-with-local-data</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/summing-a-column-with-local-data/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>donsom0702 on Summing a  Column with local data</title>
        	<link>http://www.trirand.com/blog/?page_id=393/help/summing-a-column-with-local-data#p18698</link>
        	<category>Help</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/help/summing-a-column-with-local-data#p18698</guid>
        	        	<description><![CDATA[<p>I am a newbie with jqgrid and trying to do some prototyping with local data.&#160;&#160; I want to be able to sum columns to display a total on another area of the page.&#160;&#160; I have the sum working when the grid first loads and if I add a row using the afterInsertRow event.&#160;&#160; However I am not sure how to do the delete and udpate.&#160;&#160; I have tried the AfterComplete and AfterSubmit events to no avail.&#160;&#160; My code is below.&#160;&#160; Any help would be appreciated.&#160;</p>
<p>Don</p>
<p>$(document).ready(function(){<br />&#160; var lastSel = "";</p>
<p>&#160; jQuery("#grid").jqGrid({<br />&#160;&#160;&#160; datatype: &#39;local&#39;,<br />&#160;&#160;&#160; mtype: &#39;GET&#39;,<br />&#160;&#160;&#160; colNames:[&#39;Student ID&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Student Name&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Proj Awards&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Prev Awards&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Award Amt&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Total&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;R&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;GPA&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;County&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;Comm Serv&#39;,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#39;OSU Orgs&#39;],<br />&#160;&#160;&#160; colModel :[<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;ID&#39;, index:&#39;ID&#39;, width:100, editable: true },<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;NAME&#39;, index:&#39;NAME&#39;, width:130, editable: true},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;PROJ&#39;, index:&#39;PROJ&#39;, width:80, editable: true, formatter:&#39;currency&#39;},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;PREV&#39;, index:&#39;PREV&#39;, width:80, editable: true, formatter:&#39;currency&#39;},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;AWARD&#39;, index:&#39;AWARD&#39;, width:80, editable: true, formatter:&#39;currency&#39;},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;TOTAL&#39;, index:&#39;TOTAL&#39;, width:80, editable: true, formatter:&#39;currency&#39;},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;R&#39;, index:&#39;R&#39;, width:15, editable: true},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;GPA&#39;, index:&#39;GPA&#39;, width:50, editable: true},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;COUNTY&#39;, index:&#39;COUNTY&#39;, width:50, editable: true},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;COMSERV&#39;, index:&#39;COMSERV&#39;, width:200, editable: true},<br />&#160;&#160;&#160;&#160;&#160; {name:&#39;OSUORG&#39;, index:&#39;OSUORG&#39;, width:200, editable: true}<br />&#160;&#160;&#160; ],<br />&#160;&#160;&#160; rowNum:10,<br />&#160;&#160;&#160; rownumbers: true,&#160;&#160;&#160;&#160; // add row numbers to display<br />&#160;&#160;&#160; rowList:[10,20,30,40,50,100],<br />&#160;&#160;&#160; pager: &#39;#pager&#39;,<br />//&#160;&#160;&#160; scroll: 1,<br />//&#160;&#160;&#160; scroll: true,<br />&#160;&#160;&#160; sortname: &#39;ID&#39;,<br />&#160;&#160;&#160; sortorder: &#39;asc&#39;,<br />&#160;&#160;&#160; //shrinkToFit: false,<br />&#160;&#160;&#160; autowidth: false,<br />&#160;&#160;&#160; height: 300, <br />&#160;&#160;&#160; width: 1000,<br />&#160;&#160;&#160; altRows: true,<br />&#160;&#160;&#160; viewrecords: true,<br />&#160;&#160;&#160; onSelectRow: function(id){ <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(id &#38;&#38; id !== lastSel){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (lastSel != "")<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; jQuery(&#39;#grid&#39;).restoreRow(lastSel);&#160; &#160;<br />&#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; lastSel=id; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; jQuery(&#39;#grid&#39;).editRow(id, true); <br />&#160;&#160;&#160; },<br />&#160;&#160;&#160; afterInsertRow: function(id, data, elem){ <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var tot = jQuery("#grid").getCol(&#39;AWARD&#39;,false);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var sumawd=0; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; for(var i = 0; i &#60; tot.length; i++ ){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (tot[i] != "")<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sumawd = sumawd + parseFloat(tot[i]); &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $(&#39;#totcurr&#39;).text(&#39;$&#39; + sumawd);&#160;&#160; &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160; }, &#160;<br />&#160;&#160; errorCell: function(resp, status) {<br />&#160;&#160;&#160;&#160;&#160; alert(&#39;post submit&#39;);<br />&#160;&#160; },<br />&#160;&#160; editurl: &#39;dummy_ajax.php&#39;,&#160; &#160;<br />&#160;&#160; caption: &#39;Student Scholarships&#39;<br />&#160; });</p>
<p>&#160; jQuery("#grid").jqGrid(&#39;navGrid&#39;,&#39;#pager&#39;,{search:true, <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; add:true,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; del:true,&#160; &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; edit:false,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; refresh:false}<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; );</p>
<p>&#160;&#160; // create test data<br />&#160;&#160; var ids = new Array("111-111-111","222-222-222","333-333-333","444-444-444","555-555-555","666-666-666","777-777-777","888-888-888","999-999-999");<br />&#160;&#160; var names = ["Ames, Martha","Rogers, Alan","Trandt, Janice","Wilson, Mark","James, David","Smith, Elise","Walker, Jackie","Fall, Terrance","Russel, Carl"];<br />&#160;&#160; var proj&#160; = ["4000","4000","3500","3500","3500","3000","","3000","2000"];<br />&#160;&#160; var prev&#160; = ["3500","2000","2000"," ","1000","2000","","","2000"];<br />&#160;&#160; var award&#160; = ["250","1000","","1000","500","500","","",""];<br />&#160;&#160; var total&#160; = ["3750","3000","2000","1000","1500","2500","","3000","2000"];<br />&#160;&#160; var gpa&#160; = ["4.00","4.00","3.85","3.87","3.85","3.61","3.88","3.58","3.50"];<br />&#160;&#160; var county&#160; = ["Lane","Benton","Benton","Benton","Lane","Benton","Lane","Lane","Benton"];<br />&#160;&#160; var comserv&#160; = ["Habitat for Humanity","Samuels Men&#39;s Shelte","Linn Benton Food Share","4H Counselor","Boy Scout Leader","","Walk for Life Organizer","",""];<br />&#160;&#160; var osuorg&#160; = ["Pres. Student Govt","OSU Band","OSU Animal Shelter","OSU Mentoring Program","","OSU Safe Ride","OSU Mentoring Program","",""];<br />&#160;&#160; var cnt=1;<br />&#160;&#160; for(var i = 0; i &#60; 8; i++ ){<br />&#160;&#160;&#160;&#160;&#160; cnt = i + 1;&#160;&#160; &#160;<br />&#160;&#160;&#160;&#160;&#160; var bob = {ID:ids[i],<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NAME:names[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PROJ:proj[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PREV:prev[i], &#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AWARD:award[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; TOTAL:total[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; R:"", <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GPA:gpa[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; COUNTY:county[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; COMSERV:comserv[i], <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; OSUORG:osuorg[i]<br />&#160;&#160;&#160;&#160;&#160; };</p>
<p>&#160;&#160;&#160;&#160;&#160; $(&#39;#grid&#39;).jqGrid().addRowData(cnt,bob,&#39;last&#39;);<br />&#160;&#160; } &#160;<br />&#160; &#160;<br />&#160; &#160;<br />});<br />&#160;&#160; &#160;<br />&#160;</p>
]]></description>
        	        	<pubDate>Tue, 20 Jul 2010 18:53:40 +0300</pubDate>
        </item>
</channel>
</rss>