here is javascript function that calculate certain values on textbox textchanges event:
function calculateRate(obj, lbl)
{
var str1 = lbl.substring(0,lbl.lastIndexOf('_')+1);
var str = obj.id.substring(0,obj.id.lastIndexOf('_')+1);
var margin = document.getElementById(str + 'txtMargin').value;
var addition = document.getElementById(str + 'txtAddition').value;
var rwsp = document.getElementById(str + 'lblRwsp').innerHTML;
var rapo = document.getElementById(str + 'lblRapo').innerHTML;
var cts = document.getElementById(str + 'lblCts').innerHTML;
var totCts = document.getElementById(lbl).innerHTML;
var totQRate = document.getElementById(str1 + 'lblTotQuatRate').innerHTML;
var qrate = document.getElementById(str + 'lblQuatRate').innerHTML;
var amt = document.getElementById(str + 'lblAmt1').innerHTML;
var totAmt = document.getElementById('InsertQuotationControl1_hdTotAmt').value;
//document.getElementById(str1 + 'lblTotAmt1').innerHTML;
//alert(totAmt);
if(margin.length != 0 && margin != ' ')
margin = parseFloat(margin);
if(addition.length != 0 && addition != ' ')
addition = parseFloat(addition);
if(rwsp.length != 0 && rwsp != ' ')
rwsp = parseFloat(rwsp);
if(cts.length != 0 && cts != ' ')
cts = parseFloat(cts);
if(rapo.length != 0 && rapo != ' ')
rapo = parseFloat(rapo);
if(totCts.length != 0 && totCts != ' ')
totCts = parseFloat(totCts);
if(totQRate.length != 0 && totQRate != ' ')
totQRate = parseFloat(totQRate);
if(totAmt.length != 0 && totAmt != ' ')
totAmt = parseFloat(totAmt);
if(qrate.length != 0 && qrate != ' ')
qrate = parseFloat(qrate);
if(amt.length != 0 && amt != ' ')
amt = parseFloat(amt);
var val = roundnum(rwsp * (1 + (margin/100)),2) + addition;
totQRate = ((totQRate * totCts)-(qrate * cts) + (val * cts))/totCts;
totAmt = totAmt - amt + Math.round(val*cts);
document.getElementById(str + 'lblQuatRate').innerHTML = nearestround(val);
if(rapo != -1)
document.getElementById(str + 'lblRap').innerHTML = roundnum((1-(val/rapo))*100,1);
else
document.getElementById(str + 'lblRap').innerHTML = -1;
document.getElementById(str + 'lblAmt').innerHTML = Math.round(val*cts);
document.getElementById(str + 'lblAmt1').innerHTML = Math.round(val*cts);
document.getElementById(str1 + 'lblTotQuatRate').innerHTML = nearestround(totQRate);
document.getElementById(str1 + 'lblTotAmt').innerHTML = Math.round(totAmt);
document.getElementById('InsertQuotationControl1_hdTotAmt').value = Math.round(totAmt);
}
for this write RowDataBound event in grid:
and find textbox control for each row and register this javascript function in "onchange event
like:
Textbox txt = e.Row.FindControl("<your-Textbox-name>");
txt.Attributes.Add("onchange","return calculateRate(this,someOtherControlID)");
Himanshu Manjarawala
Sr. Software Engineer@AutomationAnywhere
http://fieredotnet.wordpress.com/
Jayakumars, if this helps please login to Mark As Answer. | Alert Moderator