<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>JavaScript</title>
        <link>http://geekswithblogs.net/dotNETvinz/category/11372.aspx</link>
        <description>JavaScript</description>
        <language>en-US</language>
        <copyright>Vincent Maverick Durano</copyright>
        <managingEditor>vmsdurano@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Using Radio Button in GridView with Validation</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2011/03/03/using-radio-button-in-gridview-with-validation.aspx</link>
            <description>&lt;p&gt;A developer is asking how to select one radio button at a time if the radio button is inside the GridView.  As you may know setting the group name attribute of radio button will not work if the radio button is located within a Data Representation control like GridView. This because the radio button inside the gridview bahaves differentely. Since a gridview is rendered as table element , at run time it will assign different "name" to each radio button. Hence you are able to select multiple rows.&lt;/p&gt; &lt;p&gt;In this post I'm going to demonstrate how select one radio button at a time in gridview and add a simple validation on it. To get started let's go ahead and fire up visual studio and the create a new web application / website project. Add a WebForm and then add gridview. The mark up would look something like this:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt; &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:GridView&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:RadioButton&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="rb"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="RowNumber"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Row Number"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Col1"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="First Column"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Col2"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Second Column"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:GridView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Noticed that I've added a templatefield column so that we can add the radio button there. Also I have set up some BoundField columns and set the DataFields as RowNumber, Col1 and Col2. These columns are just dummy columns and i used it for the simplicity of this example. Now where these columns came from? These columns are created by hand at the code behind file of the ASPX. Here's the code below:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; DataTable FillData() {

            DataTable dt = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataTable();
            DataRow dr = &lt;span class="kwrd"&gt;null&lt;/span&gt;;

            &lt;span class="rem"&gt;//Create DataTable columns&lt;/span&gt;
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Col1"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Col2"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));

            &lt;span class="rem"&gt;//Create Row for each columns&lt;/span&gt;
            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 1;
            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 2;
            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"AA"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"BB"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 3;
            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 4;
            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 5;
            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;
            dt.Rows.Add(dr);

            &lt;span class="kwrd"&gt;return&lt;/span&gt; dt;
}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And here's the code for binding the GridView with the dummy data above.&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsPostBack) {
                GridView1.DataSource = FillData();
                GridView1.DataBind();
            }
}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Okay we have now a GridView data with a radio button on each row. Now lets go ahead and switch back to ASPX mark up. In this example I'm going to use a JavaScript for validating the radio button to select one radio button at a time. Here's the javascript code below:&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
function CheckOtherIsCheckedByGVID(rb) {
        var isChecked = rb.&lt;span class="kwrd"&gt;checked&lt;/span&gt;;
        var row = rb.parentNode.parentNode;
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (isChecked) {
            row.style.backgroundColor = &lt;span class="str"&gt;'#B6C4DE'&lt;/span&gt;;
            row.style.color = &lt;span class="str"&gt;'black'&lt;/span&gt;;
        }
        var currentRdbID = rb.id;
        parent = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
        var items = parent.getElementsByTagName(&lt;span class="str"&gt;'input'&lt;/span&gt;);

        &lt;span class="kwrd"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; items.length; i++) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (items[i].id != currentRdbID &amp;amp;&amp;amp; items[i].type == &lt;span class="str"&gt;"radio"&lt;/span&gt;) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (items[i].&lt;span class="kwrd"&gt;checked&lt;/span&gt;) {
                    items[i].&lt;span class="kwrd"&gt;checked&lt;/span&gt; = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
                    items[i].parentNode.parentNode.style.backgroundColor = &lt;span class="str"&gt;'white'&lt;/span&gt;;
                    items[i].parentNode.parentNode.style.color = &lt;span class="str"&gt;'#696969'&lt;/span&gt;;
                }
            }
        }
}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;p&gt;The function above sets the row of the current selected radio button's style to determine that the row is selected and then loops through the radio buttons in the gridview and then de-select the previous selected radio button and set the row style back to its default. You can then call the javascript function above at onlick event of radio button like below:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:RadioButton&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="rb"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript:CheckOtherIsCheckedByGVID(this);"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Here's the output below:&lt;/p&gt;
&lt;p&gt;On Load:&lt;/p&gt;
&lt;p&gt;&lt;img width="339" height="257" alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/dotNETvinz/radioInGrid.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;After Selecting a Radio Button:&lt;/p&gt;
&lt;p&gt;&lt;img width="339" height="268" alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/dotNETvinz/radioInGrid2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;As you have noticed, on initial load there's no default selected radio in the GridView. Now let's add a simple validation for that. We will basically display an error message if a user clicks a button that triggers a postback without selecting  a radio button in the GridView. Here's the javascript for the validation:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
function ValidateRadioButton(sender, args) {
        var gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
        var items = gv.getElementsByTagName(&lt;span class="str"&gt;'input'&lt;/span&gt;);
        &lt;span class="kwrd"&gt;for&lt;/span&gt; (var i = 0; i &amp;lt; items.length ; i++) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (items[i].type == &lt;span class="str"&gt;"radio"&lt;/span&gt;) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (items[i].&lt;span class="kwrd"&gt;checked&lt;/span&gt;) {
                    args.IsValid = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
                    &lt;span class="kwrd"&gt;return&lt;/span&gt;;
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                    args.IsValid = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
                }
            }
        }
}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The function above loops through the rows in gridview and find all the radio buttons within it. It will then check each radio button checked property. If a radio is checked then set IsValid to true else set it to false.  The reason why I'm using IsValid is because I'm using the ASP validator control for validation. Now add the following mark up below under the GridView declaration:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div style="width: 600px; overflow: auto"&gt;
&lt;pre class="csharpcode"&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="lblMessage"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btn"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="POST"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="btn_Click"&lt;/span&gt; &lt;span class="attr"&gt;ValidationGroup&lt;/span&gt;&lt;span class="kwrd"&gt;="GroupA"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:CustomValidator&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="CustomValidator1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ErrorMessage&lt;/span&gt;&lt;span class="kwrd"&gt;="Please select row in the grid."&lt;/span&gt; &lt;span class="attr"&gt;ClientValidationFunction&lt;/span&gt;&lt;span class="kwrd"&gt;="ValidateRadioButton"&lt;/span&gt; &lt;span class="attr"&gt;ValidationGroup&lt;/span&gt;&lt;span class="kwrd"&gt;="GroupA"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="display:none"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:CustomValidator&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ValidationSummary&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ValidationSummary1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ValidationGroup&lt;/span&gt;&lt;span class="kwrd"&gt;="GroupA"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Error List:"&lt;/span&gt; &lt;span class="attr"&gt;DisplayMode&lt;/span&gt;&lt;span class="kwrd"&gt;="BulletList"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Red"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And then at Button Click event add this simple code below just to test if  the validation works:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; btn_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e) {
            lblMessage.Text = &lt;span class="str"&gt;"Postback at: "&lt;/span&gt; + DateTime.Now.ToString(&lt;span class="str"&gt;"hh:mm:ss tt"&lt;/span&gt;);
}&lt;/pre&gt;

&lt;br /&gt;
&lt;p&gt;Here's the output below that you can see in the browser:&lt;/p&gt;
&lt;p&gt;&lt;img width="342" height="356" alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/dotNETvinz/radioInGrid3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width="352" height="302" alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/dotNETvinz/radioInGrid4.jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;That's it! I hope someone find this post useful!&lt;/p&gt;
&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c08f3045-235e-45d4-94d4-055058931115" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/144163.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2011/03/03/using-radio-button-in-gridview-with-validation.aspx</guid>
            <pubDate>Thu, 03 Mar 2011 09:20:55 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/144163.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2011/03/03/using-radio-button-in-gridview-with-validation.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/144163.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/144163.aspx</trackback:ping>
        </item>
        <item>
            <title>A Simple Collapsible Menu with jQuery</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2011/02/04/a-simple-collapsible-menu-with-jquery.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;In this post I'll demonstrate how to make a simple collapsible menu using jQuery. To get started let's go ahead and fire up Visual Studio and create a new WebForm.  Now let's build our menu by adding some div, p and anchor tags. Since I'm using a masterpage then the ASPX mark-up should look something like this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;div class="csharpcode"&gt;   &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content2"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="MainContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="Menu"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;CARS&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="section"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Car 1&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Car 2&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Car 3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Car 4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;BIKES&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="section"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 1&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 2&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 5&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 6&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 7&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Bike 8&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;COMPUTERS&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="section"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Computer 1&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Computer 2&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Computer 3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Computer 4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;OTHERS&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="section"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Other 1&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Other 2&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Other 3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Other 4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;As you can see there's nothing fancy about the mark up above.. Now lets go ahead create a simple CSS to set the look and feel our our Menu. Just for for the simplicity of this demo, add the following CSS below under the &amp;lt;head&amp;gt; section of the page or if you are using master page then add it a the content head. Here's the CSS below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content1"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="HeadContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/css"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    #Menu{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        width:300px;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    #Menu &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; p{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        background-color:#104D9E;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        color:#F5F7FA;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        margin:0;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        padding:0;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        border-bottom-style: solid;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        border-bottom-width: medium;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        border-bottom-color:#000000;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        cursor:pointer;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    #Menu .section{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        padding-left:5px;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        background-color:#C0D9FA;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;    a{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        display:block;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        color:#0A0A07;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Now let's add the collapsible effects on our menu using jQuery. To start using jQuery then register the following script at the very top of the &amp;lt;head&amp;gt; section of the page or if you are using master page then add it the very top of  the content head section.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;As you can see I'm using Google AJAX API CDN to host the jQuery file. You can also download the jQuery &lt;/span&gt;&lt;/span&gt;&lt;a href="http://docs.jquery.com/Downloading_jQuery"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; and host it in your server if you'd like. Okay here's the the jQuery script below for adding the collapsible effects:&lt;/span&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    $(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        $(&lt;span class="str"&gt;"a"&lt;/span&gt;).mouseover(&lt;span class="kwrd"&gt;function&lt;/span&gt; () { $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).addClass(&lt;span class="str"&gt;"highlightRow"&lt;/span&gt;); })&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;              .mouseout(&lt;span class="kwrd"&gt;function&lt;/span&gt; () { $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).removeClass(&lt;span class="str"&gt;"highlightRow"&lt;/span&gt;); });&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        $(&lt;span class="str"&gt;".section"&lt;/span&gt;).hide();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        $(&lt;span class="str"&gt;"#Menu &amp;gt; p"&lt;/span&gt;).click(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).next().slideToggle(&lt;span class="str"&gt;"Slow"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        });&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    });&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Okay to give you a little bit of explaination, at line 3.. what it does is it looks for all the "&amp;lt;a&amp;gt;" anchor elements on the page and attach the mouseover and mouseout event. On mouseover, the highlightRow css class is added to &amp;lt;a&amp;gt; element and on mouse out we remove the css class to revert the style to its default look. at line 6 we will hide all the elements that has a class name set as "section" and if you look at the mark up above it is refering to the &amp;lt;div&amp;gt; elements right after each &amp;lt;p&amp;gt; element. At line 7.. what it does is it looks for a &amp;lt;p&amp;gt; element that is a direct child of the element that has an ID of "Menu" and then attach the click event to toggle the visibilty of the section.
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here's how it looks in the page:
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On Initial Load:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/jquerymenu.png" width="390" height="337" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;After Clicking the Section Header:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/jquerymenu2.png" width="476" height="579" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope someone find this post usefu!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:62dba595-0935-4aab-9149-27787342611e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JQuery" rel="tag"&gt;JQuery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Master+Page" rel="tag"&gt;Master Page&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143792.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2011/02/04/a-simple-collapsible-menu-with-jquery.aspx</guid>
            <pubDate>Fri, 04 Feb 2011 09:02:34 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143792.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2011/02/04/a-simple-collapsible-menu-with-jquery.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143792.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143792.aspx</trackback:ping>
        </item>
        <item>
            <title>Validate if  aTextBox Value Start with a Specific Letter</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2011/02/02/validate-if--atextbox-value-start-with-a-specific-letter.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;In case you will be working on a page that needs to validate the first character of the TextBox entered by a user then here are two options that you can use:&lt;br /&gt;
&lt;br /&gt;
Option 1: Using an array&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content1"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="HeadContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;function&lt;/span&gt; CheckFirstChar(o) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; arr = [&lt;span class="str"&gt;'A'&lt;/span&gt;, &lt;span class="str"&gt;'B'&lt;/span&gt;, &lt;span class="str"&gt;'C'&lt;/span&gt;, &lt;span class="str"&gt;'D'&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (o.value.length &amp;gt; 0) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; arr.length; i++) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (o.value.charAt(0) == arr[i]) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                    alert(&lt;span class="str"&gt;'Valid'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                    alert(&lt;span class="str"&gt;'InValid'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content2"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="MainContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TextBox1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;onblur&lt;/span&gt;&lt;span class="kwrd"&gt;="return CheckFirstChar(this);"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;The example above uses an array of string for storing the list of  characters that a TextBox value should start with. We then iterate to the array and compare the first character of TextBox value to see if it matches any characters from the array.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;Option 2: Using Regular Expression (Preferred way)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content1"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="HeadContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;function&lt;/span&gt; CheckFirstChar(o) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        pattern = /^(A|B|C|D)/;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (!pattern.test(o.value)) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            alert(&lt;span class="str"&gt;'InValid'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        } &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            alert(&lt;span class="str"&gt;'Valid'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Content2"&lt;/span&gt; &lt;span class="attr"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span class="kwrd"&gt;="MainContent"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TextBox1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;onblur&lt;/span&gt;&lt;span class="kwrd"&gt;="return CheckFirstChar(this);"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;The example above uses regular expression with the pattern  &lt;strong&gt;/^(A|B|C|D)/&lt;/strong&gt;. This will check if the TextBox value starts with A,B,C or D. Please note that it's case sensitive. If you want to allow lower case then you can alter the patter to this &lt;strong&gt;/^(A|B|C|D)/i&lt;/strong&gt;. The &lt;strong&gt;i&lt;/strong&gt; in the last part will cause a case-insensitive search.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;That's it! I hope someone find this post useful! &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143751.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2011/02/02/validate-if--atextbox-value-start-with-a-specific-letter.aspx</guid>
            <pubDate>Tue, 01 Feb 2011 16:32:15 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143751.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2011/02/02/validate-if--atextbox-value-start-with-a-specific-letter.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143751.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143751.aspx</trackback:ping>
        </item>
        <item>
            <title>Highlight Row in GridView with Colored Columns</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2011/01/13/highlight-row-in-gridview-with-colored-columns.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;I wrote a blog post a while back before &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2009/02/24/tiptrick-highlighting-gridview-rows-on-mouseover.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; that demonstrate how to highlight a GridView row on mouseover and as you can see its very easy to highlight rows in GridView. One of my colleague uses the same technique for implemeting gridview row highlighting but the problem is that if a Column has background color on it that cell will not be highlighted anymore. To make it more clear then let's build up a sample application.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ASPX:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;div class="csharpcode"&gt;   &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:GridView&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt; &lt;span class="attr"&gt;onrowcreated&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1_RowCreated"&lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="attr"&gt;onrowdatabound&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1_RowDataBound"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:GridView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CODE BEHIND:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; DataTable FillData() {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            DataTable dt = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataTable();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            DataRow dr = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="rem"&gt;//Create DataTable columns&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Col1"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Col2"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Col3"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            &lt;span class="rem"&gt;//Create Row for each columns&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            dr = dt.NewRow();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 1;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col3"&lt;/span&gt;] = &lt;span class="str"&gt;"C"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            dt.Rows.Add(dr);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            dr = dt.NewRow();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 2;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"AA"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"BB"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col3"&lt;/span&gt;] = &lt;span class="str"&gt;"CC"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;            dt.Rows.Add(dr);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;            dr = dt.NewRow();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 3;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col3"&lt;/span&gt;] = &lt;span class="str"&gt;"CC"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;            dt.Rows.Add(dr);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;            dr = dt.NewRow();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 4;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col3"&lt;/span&gt;] = &lt;span class="str"&gt;"CC"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;            dt.Rows.Add(dr);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            dr = dt.NewRow();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 5;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col1"&lt;/span&gt;] = &lt;span class="str"&gt;"A"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col2"&lt;/span&gt;] = &lt;span class="str"&gt;"B"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;            dr[&lt;span class="str"&gt;"Col3"&lt;/span&gt;] = &lt;span class="str"&gt;"CC"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;            dt.Rows.Add(dr);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; dt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;}&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsPostBack) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;                GridView1.DataSource = FillData();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;                GridView1.DataBind();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;As you can see there's nothing fancy in the code above. It just contain a method that fills a DataTable with a dummy data on it. Now here's the code for row highlighting:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GridView1_RowCreated(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, GridViewRowEventArgs e) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;            &lt;span class="rem"&gt;//Set Background Color for Columns 1 and 3&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            e.Row.Cells[1].BackColor = System.Drawing.Color.Beige;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            e.Row.Cells[3].BackColor = System.Drawing.Color.Red;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="rem"&gt;//Attach onmouseover and onmouseout for row highlighting&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            e.Row.Attributes.Add(&lt;span class="str"&gt;"onmouseover"&lt;/span&gt;, &lt;span class="str"&gt;"this.style.backgroundColor='Blue'"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            e.Row.Attributes.Add(&lt;span class="str"&gt;"onmouseout"&lt;/span&gt;, &lt;span class="str"&gt;"this.style.backgroundColor=''"&lt;/span&gt;);  &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Running the code above will show something like this in the browser:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On initial load:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvhighlight.jpg" width="331" height="292" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On mouseover of GridView row:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvhighlight2.jpg" width="349" height="313" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Noticed that Col1 and Col3 are not highlighted. Why? the reason is that Col1 and Col3 cells has background color set on it and we only highlight the rows (TR) and not the columns (TD) that's why on mouseover only the rows will be highlighted. To fix the issue we will create a javascript method that would remove the background color of the columns when highlighting a row and on mouseout set back the original color that is set on Col1 and Col3. Here are the codes below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="kwrd"&gt;function&lt;/span&gt; HighLightRow(rowIndex, colIndex,colIndex2, flag) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; selRow = gv.rows[rowIndex];&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (rowIndex &amp;gt; 0) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (flag == &lt;span class="str"&gt;"sel"&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                gv.rows[rowIndex].style.backgroundColor = &lt;span class="str"&gt;'Blue'&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                gv.rows[rowIndex].style.color = &lt;span class="str"&gt;"White"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                gv.rows[rowIndex].cells[colIndex].style.backgroundColor = &lt;span class="str"&gt;''&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                gv.rows[rowIndex].cells[colIndex2].style.backgroundColor = &lt;span class="str"&gt;''&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                gv.rows[rowIndex].style.backgroundColor = &lt;span class="str"&gt;''&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                gv.rows[rowIndex].style.color = &lt;span class="str"&gt;"Black"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                gv.rows[rowIndex].cells[colIndex].style.backgroundColor = &lt;span class="str"&gt;'Beige'&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                gv.rows[rowIndex].cells[colIndex2].style.backgroundColor = &lt;span class="str"&gt;'Red'&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;   }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;The HighLightRow method is a javascript function that accepts four (4) parameters which are the &lt;em&gt;rowIndex&lt;/em&gt;,&lt;em&gt;colIndex&lt;/em&gt;,&lt;em&gt;colIndex2 &lt;/em&gt;and the &lt;em&gt;flag&lt;/em&gt;. The rowIndex is the current row index of the selected row in GridView. The colIndex is the index of Col1 and colIndex2 is the index of col3. We are passing these index because these columns has background color on it and we need to toggle its backgroundcolor when highlighting the row in GridView. Finally the flag is something that would determine if its selected or not. Now here's the code for calling the JavaScript function above.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div style="width: 600px; overflow: auto"&gt;
&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt; &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GridView1_RowCreated(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, GridViewRowEventArgs e) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="rem"&gt;//Set Background Color for Columns 1 and 3&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            e.Row.Cells[1].BackColor = System.Drawing.Color.Beige;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            e.Row.Cells[3].BackColor = System.Drawing.Color.Red;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            &lt;span class="rem"&gt;//Attach onmouseover and onmouseout for row highlighting&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            &lt;span class="rem"&gt;//and call the HighLightRow method with the required parameters&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; index = e.Row.RowIndex + 1;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            e.Row.Attributes.Add(&lt;span class="str"&gt;"onmouseover"&lt;/span&gt;, &lt;span class="str"&gt;"HighLightRow("&lt;/span&gt; + index + &lt;span class="str"&gt;","&lt;/span&gt; + 1 + &lt;span class="str"&gt;","&lt;/span&gt; + 3 + &lt;span class="str"&gt;",'sel')"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            e.Row.Attributes.Add(&lt;span class="str"&gt;"onmouseout"&lt;/span&gt;, &lt;span class="str"&gt;"HighLightRow("&lt;/span&gt; + index + &lt;span class="str"&gt;","&lt;/span&gt; + 1 + &lt;span class="str"&gt;","&lt;/span&gt; + 3 + &lt;span class="str"&gt;",'dsel')"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;   &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Running the code above will display something like this:
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On initial load:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvhighlight.jpg" width="331" height="292" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On mouseover of GridView row:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvhighlight3.jpg" width="334" height="291" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143461.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2011/01/13/highlight-row-in-gridview-with-colored-columns.aspx</guid>
            <pubDate>Thu, 13 Jan 2011 10:23:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143461.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2011/01/13/highlight-row-in-gridview-with-colored-columns.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143461.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143461.aspx</trackback:ping>
        </item>
        <item>
            <title>FAQ: GridView Calculation with JavaScript - Editable Price Field</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---editable-price-field.aspx</link>
            <description>&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc6.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Recently I wrote a series of blog posts that demonstrates how to do calculation in GridView using JavaScripts. You can check the series of posts below:        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;FAQ: GridView Calculation with JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;          &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---formatting-and-validation.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;FAQ: GridView Calculation with JavaScript - Formatting and Validation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;          &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---displaying-quantity-total.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;FAQ: GridView Calculation with JavaScript - Displaying Quantity Total&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;          &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Recently a &lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.asp.net/t/1629944.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;user&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; in the forums is asking how to calculate the total quantity, sub-totals and total amout in GridView  when a user enters the price and quantity in the TextBox field. Obviously the series of post  that I wrote will not work in this case because the price field in those examples are Label (read-only) and not TextBox fields. In this post I'm going to demonstrate how to accomplish this using the same method used in my previous examples. Basically I'm just going to modify the GridView declaration and replace the Label price field with a TextBox so that users can type on it. And finally modify the CalculateTotals() javascript function.        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here are the code blocks below:        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
        &lt;span class="kwrd"&gt;function&lt;/span&gt; CalculateTotals() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tb = gv.getElementsByTagName(&lt;span class="str"&gt;"input"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; lb = gv.getElementsByTagName(&lt;span class="str"&gt;"span"&lt;/span&gt;);

            &lt;span class="kwrd"&gt;var&lt;/span&gt; sub = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; total = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexQ = 1;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexP = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; price = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; qty = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; totalQty = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tbCount = tb.length / 2;
           
            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; tbCount; i++) {
               
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].type == &lt;span class="str"&gt;"text"&lt;/span&gt;) {
                    ValidateNumber(tb[i + indexQ]);

                    sub = parseFloat(tb[i + indexP].value) * parseFloat(tb[i + indexQ].value);
              
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(sub)) {
                        lb[i].innerHTML = &lt;span class="str"&gt;"0.00"&lt;/span&gt;;
                        sub = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        lb[i].innerHTML = FormatToMoney(sub, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;); ;
                    }
                   
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(tb[i + indexQ].value) || tb[i + indexQ].value == &lt;span class="str"&gt;""&lt;/span&gt;) {
                        qty = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        qty = tb[i + indexQ].value;
                    }
 
                    totalQty += parseInt(qty);
                    total += parseFloat(sub);

                    indexQ++;
                    indexP++;
                }
            }

            lb[lb.length - 2].innerHTML = totalQty;
            lb[lb.length -1].innerHTML = FormatToMoney(total, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;function&lt;/span&gt; ValidateNumber(o) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (o.value.length &amp;gt; 0) {
                o.value = o.value.replace(/[^\d]+/g, &lt;span class="str"&gt;''&lt;/span&gt;); &lt;span class="rem"&gt;//Allow only whole numbers&lt;/span&gt;
            }
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; isThousands(position) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Math.floor(position / 3) * 3 == position) &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
        };

        &lt;span class="kwrd"&gt;function&lt;/span&gt; FormatToMoney(theNumber, theCurrency, theThousands, theDecimal) {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theDecimalDigits = Math.round((theNumber * 100) - (Math.floor(theNumber) * 100));
            theDecimalDigits = &lt;span class="str"&gt;""&lt;/span&gt; + (theDecimalDigits + &lt;span class="str"&gt;"0"&lt;/span&gt;).substring(0, 2);
            theNumber = &lt;span class="str"&gt;""&lt;/span&gt; + Math.floor(theNumber);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theOutput = theCurrency;
            &lt;span class="kwrd"&gt;for&lt;/span&gt; (x = 0; x &amp;lt; theNumber.length; x++) {
                theOutput += theNumber.substring(x, x + 1);
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (isThousands(theNumber.length - x - 1) &amp;amp;&amp;amp; (theNumber.length - x - 1 != 0)) {
                    theOutput += theThousands;
                };
            };
            theOutput += theDecimal + theDecimalDigits;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; theOutput;
        } 
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="form1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt;  &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;  &lt;span class="attr"&gt;ShowFooter&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                   &lt;span class="attr"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="RowNumber"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Row Number"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Price"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTPrice"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                             &lt;span class="attr"&gt;onkeyup&lt;/span&gt;&lt;span class="kwrd"&gt;="CalculateTotals();"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Qty:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Quantity"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTQty"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                             &lt;span class="attr"&gt;onkeyup&lt;/span&gt;&lt;span class="kwrd"&gt;="CalculateTotals();"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLQtyTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                           &lt;span class="attr"&gt;Font-Bold&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Blue"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; /&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;                 &lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Amount:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Sub-Total"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLSubTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                           &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;                           &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Font-Bold&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"/&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7118395a-0a3f-425d-9c2a-b0e6371829d2" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143071.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---editable-price-field.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 15:43:16 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143071.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---editable-price-field.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143071.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143071.aspx</trackback:ping>
        </item>
        <item>
            <title>FAQ: GridView Calculation with JavaScript - Displaying Quantity Total</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---displaying-quantity-total.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Previously we've talked about how &lt;span&gt;calculate the sub-totals and grand total in GridView &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;, how to format the numbers into a currency format and how to validate the quantity to just accept whole numbers using JavaScript &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---formatting-and-validation.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;. One of the users in the forum (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.asp.net"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;http://forums.asp.net&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;) is asking if how to modify the script to display the quantity total in the footer. In this post I'm going to show you how to it. Basically we just need to modify the javascript CalculateTotals function and add the codes there for calculating the quantity total and display it in the footer.          &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here are the code blocks below:        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;div style="width: 600px; overflow: auto"&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
        &lt;span class="kwrd"&gt;function&lt;/span&gt; CalculateTotals() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tb = gv.getElementsByTagName(&lt;span class="str"&gt;"input"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; lb = gv.getElementsByTagName(&lt;span class="str"&gt;"span"&lt;/span&gt;);

            &lt;span class="kwrd"&gt;var&lt;/span&gt; sub = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; total = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexQ = 1;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexP = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; price = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; qty = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; totalQty = 0;

            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; tb.length; i++) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].type == &lt;span class="str"&gt;"text"&lt;/span&gt;) {
                    ValidateNumber(tb[i]);

                    price = lb[indexP].innerHTML.replace(&lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;).replace(&lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;);
                    sub = parseFloat(price) * parseFloat(tb[i].value);
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(sub)) {
                        lb[i + indexQ].innerHTML = &lt;span class="str"&gt;"0.00"&lt;/span&gt;;
                        sub = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        lb[i + indexQ].innerHTML = FormatToMoney(sub, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;); ;
                    }
                   
                    indexQ++;
                    indexP = indexP + 2;

                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(tb[i].value) || tb[i].value == &lt;span class="str"&gt;""&lt;/span&gt;) {
                        qty = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        qty = tb[i].value;
                    }
 
                    totalQty += parseInt(qty);
                    total += parseFloat(sub);
                }
            }

            lb[lb.length - 2].innerHTML = totalQty;
            lb[lb.length - 1].innerHTML = FormatToMoney(total, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;function&lt;/span&gt; ValidateNumber(o) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (o.value.length &amp;gt; 0) {
                o.value = o.value.replace(/[^\d]+/g, &lt;span class="str"&gt;''&lt;/span&gt;); &lt;span class="rem"&gt;//Allow only whole numbers&lt;/span&gt;
            }
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; isThousands(position) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Math.floor(position / 3) * 3 == position) &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
        };

        &lt;span class="kwrd"&gt;function&lt;/span&gt; FormatToMoney(theNumber, theCurrency, theThousands, theDecimal) {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theDecimalDigits = Math.round((theNumber * 100) - (Math.floor(theNumber) * 100));
            theDecimalDigits = &lt;span class="str"&gt;""&lt;/span&gt; + (theDecimalDigits + &lt;span class="str"&gt;"0"&lt;/span&gt;).substring(0, 2);
            theNumber = &lt;span class="str"&gt;""&lt;/span&gt; + Math.floor(theNumber);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theOutput = theCurrency;
            &lt;span class="kwrd"&gt;for&lt;/span&gt; (x = 0; x &amp;lt; theNumber.length; x++) {
                theOutput += theNumber.substring(x, x + 1);
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (isThousands(theNumber.length - x - 1) &amp;amp;&amp;amp; (theNumber.length - x - 1 != 0)) {
                    theOutput += theThousands;
                };
            };
            theOutput += theDecimal + theDecimalDigits;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; theOutput;
        } 
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="form1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt;  &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;  &lt;span class="attr"&gt;ShowFooter&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="RowNumber"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Row Number"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Price"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLPrice"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;='&amp;lt;%# Eval("Price","{0:C}") %&amp;gt;'&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Qty:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Quantity"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTQty"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;onkeyup&lt;/span&gt;&lt;span class="kwrd"&gt;="CalculateTotals();"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLQtyTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Font-Bold&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Blue"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Amount:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Sub-Total"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLSubTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Font-Bold&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here's the output below when you run it on the page: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc5.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d87cb647-74e2-4eb2-ba78-ccb23e5ff88a" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143066.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---displaying-quantity-total.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 09:54:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143066.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---displaying-quantity-total.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143066.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143066.aspx</trackback:ping>
        </item>
        <item>
            <title>FAQ: GridView Calculation with JavaScript - Formatting and Validation</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---formatting-and-validation.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;In my previous post &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; we've talked about how to calculate the sub-totals and grand total in GridView using JavaScript. In this post I'm going take more step further and will demonstrate how are we going to format the totals into a currency and how to validate the input that would only allow you to enter a whole number in the quantity TextBox.        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here are the code blocks below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;ASPX Source:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;div style="width: 600px; overflow: auto"&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
        &lt;span class="kwrd"&gt;function&lt;/span&gt; CalculateTotals() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tb = gv.getElementsByTagName(&lt;span class="str"&gt;"input"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; lb = gv.getElementsByTagName(&lt;span class="str"&gt;"span"&lt;/span&gt;);

            &lt;span class="kwrd"&gt;var&lt;/span&gt; sub = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; total = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexQ = 1;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexP = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; price = 0;

            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; tb.length; i++) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].type == &lt;span class="str"&gt;"text"&lt;/span&gt;) {
                    ValidateNumber(tb[i]);

                    price = lb[indexP].innerHTML.replace(&lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;).replace(&lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;);
                    sub = parseFloat(price) * parseFloat(tb[i].value);
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(sub)) {
                        lb[i + indexQ].innerHTML = &lt;span class="str"&gt;"0.00"&lt;/span&gt;;
                        sub = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        lb[i + indexQ].innerHTML = FormatToMoney(sub, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;); ;
                    }
                   
                    indexQ++;
                    indexP = indexP + 2;

                    total += parseFloat(sub);
                }
            }

            lb[lb.length - 1].innerHTML = FormatToMoney(total, &lt;span class="str"&gt;"$"&lt;/span&gt;, &lt;span class="str"&gt;","&lt;/span&gt;, &lt;span class="str"&gt;"."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;function&lt;/span&gt; ValidateNumber(o) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (o.value.length &amp;gt; 0) {
                o.value = o.value.replace(/[^\d]+/g, &lt;span class="str"&gt;''&lt;/span&gt;); &lt;span class="rem"&gt;//Allow only whole numbers&lt;/span&gt;
            }
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; isThousands(position) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Math.floor(position / 3) * 3 == position) &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
        };

        &lt;span class="kwrd"&gt;function&lt;/span&gt; FormatToMoney(theNumber, theCurrency, theThousands, theDecimal) {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theDecimalDigits = Math.round((theNumber * 100) - (Math.floor(theNumber) * 100));
            theDecimalDigits = &lt;span class="str"&gt;""&lt;/span&gt; + (theDecimalDigits + &lt;span class="str"&gt;"0"&lt;/span&gt;).substring(0, 2);
            theNumber = &lt;span class="str"&gt;""&lt;/span&gt; + Math.floor(theNumber);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; theOutput = theCurrency;
            &lt;span class="kwrd"&gt;for&lt;/span&gt; (x = 0; x &amp;lt; theNumber.length; x++) {
                theOutput += theNumber.substring(x, x + 1);
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (isThousands(theNumber.length - x - 1) &amp;amp;&amp;amp; (theNumber.length - x - 1 != 0)) {
                    theOutput += theThousands;
                };
            };
            theOutput += theDecimal + theDecimalDigits;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; theOutput;
        } 
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="form1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt;  &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;  &lt;span class="attr"&gt;ShowFooter&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="RowNumber"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Row Number"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Price"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLPrice"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;='&amp;lt;%# Eval("Price","{0:C}") %&amp;gt;'&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Quantity"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTQty"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;onkeyup&lt;/span&gt;&lt;span class="kwrd"&gt;="CalculateTotals();"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Amount:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Sub-Total"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLSubTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="attr"&gt;Font-Bold&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="0.00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Code Behind Source:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;div style="width: 600px; overflow: auto"&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; GridCalculation : System.Web.UI.Page
{
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; BindDummyDataToGrid() {

            DataTable dt = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataTable();
            DataRow dr = &lt;span class="kwrd"&gt;null&lt;/span&gt;;

            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Description"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Price"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;)));

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 1;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Nike"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"1000"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 2;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Converse"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"800"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 3;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Adidas"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"500"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 4;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Reebok"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"750"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 5;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Vans"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"1100"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 6;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Fila"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"200"&lt;/span&gt;;
            dt.Rows.Add(dr);


            &lt;span class="rem"&gt;//Bind the Gridview&lt;/span&gt;
            GridView1.DataSource = dt;
            GridView1.DataBind();

        }

        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsPostBack) {
                BindDummyDataToGrid();
            }
        }
 }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Running the code above will display something like this: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;On initial load 
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc3.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;After entering the quantity in the TextBox 
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc4.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6f8e9d50-46bf-4171-8228-da38ceb1f4aa" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ADO.NET" rel="tag"&gt;ADO.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143065.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---formatting-and-validation.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 09:17:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143065.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/12/09/faq-gridview-calculation-with-javascript---formatting-and-validation.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143065.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143065.aspx</trackback:ping>
        </item>
        <item>
            <title>FAQ: GridView Calculation with JavaScript</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;In my previous post I wrote a simple demo on how to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2009/06/01/faq-calculate-totals-in-gridview-and-display-it-in-footer.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Calculate Totals in GridView and Display it in the Footer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;. Basically what it does is it calculates the total amount by typing into the TextBox and display the grand total in the footer of the GridView and basically it was a server side implemenation.  Many users in the forums are asking how to do the same thing without postbacks and how to calculate both amount and total amount together.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;In this post I will demonstrate how to do this using JavaScript. To get started let's go ahead and set up the form. Just for the simplicity of this demo I just set up the form like this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="GridView1"&lt;/span&gt;  &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;  &lt;span class="attr"&gt;ShowFooter&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="RowNumber"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Row Number"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:BoundField&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Item Price"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLPrice"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;='&amp;lt;%# Eval("Price") %&amp;gt;'&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Quantity"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTQty"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Total Amount:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;b&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt; &lt;span class="attr"&gt;HeaderText&lt;/span&gt;&lt;span class="kwrd"&gt;="Sub-Total"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLSubTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="LBLTotal"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ForeColor&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Label&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TemplateField&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:gridview&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;As you can see there's no fancy about the mark up above. It just a standard GridView with BoundFields and TemplateFields on it. Now just for the purpose of this demo I just use a dummy data for populating the GridView. Here's the code below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; GridCalculation : System.Web.UI.Page
    {
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; BindDummyDataToGrid() {

            DataTable dt = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataTable();
            DataRow dr = &lt;span class="kwrd"&gt;null&lt;/span&gt;;

            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Description"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));
            dt.Columns.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DataColumn(&lt;span class="str"&gt;"Price"&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 1;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Nike"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"1000"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 2;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Converse"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"800"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 3;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Adidas"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"500"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 4;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Reebok"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"750"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 5;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Vans"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"1100"&lt;/span&gt;;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr[&lt;span class="str"&gt;"RowNumber"&lt;/span&gt;] = 6;
            dr[&lt;span class="str"&gt;"Description"&lt;/span&gt;] = &lt;span class="str"&gt;"Fila"&lt;/span&gt;;
            dr[&lt;span class="str"&gt;"Price"&lt;/span&gt;] = &lt;span class="str"&gt;"200"&lt;/span&gt;;
            dt.Rows.Add(dr);


            &lt;span class="rem"&gt;//Bind the Gridview&lt;/span&gt;
            GridView1.DataSource = dt;
            GridView1.DataBind();

        }

        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsPostBack) {
                BindDummyDataToGrid();
            }
        }
    }&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Now try to run the page. The output should look something like below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc1.jpg" width="534" height="236" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;The Client-Side Calculation&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Here's the code for the GridView calculation:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
        &lt;span class="kwrd"&gt;function&lt;/span&gt; CalculateTotals() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= GridView1.ClientID %&amp;gt;"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tb = gv.getElementsByTagName(&lt;span class="str"&gt;"input"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; lb = gv.getElementsByTagName(&lt;span class="str"&gt;"span"&lt;/span&gt;);

            &lt;span class="kwrd"&gt;var&lt;/span&gt; sub = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; total = 0;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexQ = 1;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; indexP = 0;

            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; tb.length; i++) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].type == &lt;span class="str"&gt;"text"&lt;/span&gt;) {
                    sub = parseFloat(lb[indexP].innerHTML) * parseFloat(tb[i].value);
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isNaN(sub)) {
                        lb[i + indexQ].innerHTML = &lt;span class="str"&gt;""&lt;/span&gt;;
                        sub = 0;
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                        lb[i + indexQ].innerHTML = sub;
                    }
                   
                    indexQ++;
                    indexP = indexP + 2;

                    total += parseFloat(sub);
                }
            }
            lb[lb.length -1].innerHTML = total;
        }
 
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;The code above calculates the sub-total by multiplying the price and the quantity and at the same time calculates the total amount  by adding the sub-total values. Now you can simply call the JavaScript function above like this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="TXTQty"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span style="background-color: rgb(255,204,0)"&gt;&lt;span class="attr"&gt;onkeyup&lt;/span&gt;&lt;span class="kwrd"&gt;="CalculateTotals();"&lt;/span&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:TextBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Running the code above will display something like below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt="" src="/images/geekswithblogs_net/dotNETvinz/gvJSCalc2.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:868eee58-b720-4cf5-b0ae-7f989603c2ff" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TipsTricks" rel="tag"&gt;TipsTricks&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/143046.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx</guid>
            <pubDate>Wed, 08 Dec 2010 14:29:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/143046.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/12/08/faq-gridview-calculation-with-javascript.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/143046.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/143046.aspx</trackback:ping>
        </item>
        <item>
            <title>Adding Dynamic Rows in GridView with TextBox and DropDownList - Validation</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/08/05/adding-dynamic-rows-in-gridview-with-textbox-and-dropdownlist-again.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;In my previous post &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/dotNETvinz/archive/2010/08/03/adding-dynamic-rows-in-gridview-with-textbox-and-dropdownlist.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; I have demonstrated how to add dynamic rows in Gridview with a combination of TextBox and DropDownList. Just in case you need to validate empty TextBox values  before adding a new row to the GridView then here's a JavaScript function that you can use for validation:  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="font-size: small"&gt;&lt;/span&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;function ValidateEmptyValue() { 
    &lt;span class="kwrd"&gt;var&lt;/span&gt; gv = document.getElementById(&lt;span class="str"&gt;"&amp;lt;%= Gridview1.ClientID %&amp;gt;"&lt;/span&gt;); 
    &lt;span class="kwrd"&gt;var&lt;/span&gt; tb = gv.getElementsByTagName(&lt;span class="str"&gt;"input"&lt;/span&gt;); 
            
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; tb.length; i++) { 
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].type == &lt;span class="str"&gt;"text"&lt;/span&gt;) { 
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (tb[i].value &amp;lt; 1) { 
                alert(&lt;span class="str"&gt;"Field cannot be blank!"&lt;/span&gt;); 
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;; 
            } 
        } 
    } 
    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;; 
}&lt;/pre&gt;

&lt;p&gt;&lt;span style="line-height: 115%; font-size: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;Then at OnClientClick event of the Add New Button, you can simply call the JavaScript function above like below:  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ButtonAdd"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Add New Row"&lt;/span&gt;
                           &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="ButtonAdd_Click"&lt;/span&gt; 
                           &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="return ValidateEmptyValue();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;  &lt;/pre&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;That's it! I hope you'll find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma"&gt;&lt;span style="line-height: 115%; font-size: 10pt"&gt;&lt;o:p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-family: tahoma"&gt;&lt;span style="line-height: 115%; font-size: 10pt"&gt;&lt;o:p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ee0626ab-589e-4cc3-801f-c824258f3009" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GridView" rel="tag"&gt;GridView&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dynamic+Controls" rel="tag"&gt;Dynamic Controls&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;
      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/141195.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/08/05/adding-dynamic-rows-in-gridview-with-textbox-and-dropdownlist-again.aspx</guid>
            <pubDate>Thu, 05 Aug 2010 08:10:35 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/141195.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/08/05/adding-dynamic-rows-in-gridview-with-textbox-and-dropdownlist-again.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/141195.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/141195.aspx</trackback:ping>
        </item>
        <item>
            <title>Display animated gif before Iframe content is loaded</title>
            <link>http://geekswithblogs.net/dotNETvinz/archive/2010/07/13/display-animated-gif-before-iframe-content-is-loaded.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;If you are working with iframe in which the content takes time to load, you may want to display a simple loading indicator to the end users instead of letting the users see a blank screen in the page. To do this, here's one way on how to implemet it using javascript.       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0" width="800"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;span style="color: rgb(153,51,0)"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" &amp;gt;               &lt;br /&gt;&amp;lt;head runat="server"&amp;gt;                &lt;br /&gt;    &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;                &lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;                &lt;br /&gt;       &lt;span style="color: rgb(0,0,128)"&gt; function hideLoading() {                 &lt;br /&gt;            document.getElementById('divLoading').style.display = "none";                  &lt;br /&gt;            document.getElementById('divFrameHolder').style.display = "block";                  &lt;br /&gt;        }&lt;/span&gt;                &lt;br /&gt;    &amp;lt;/script&amp;gt;                &lt;br /&gt;&amp;lt;/head&amp;gt;                &lt;br /&gt;&amp;lt;body&amp;gt;                &lt;br /&gt;    &amp;lt;form id="form1" runat="server"&amp;gt;                &lt;br /&gt;    &amp;lt;div id="divLoading"&amp;gt;                &lt;br /&gt;        &amp;lt;img src="images/ajax-loader.gif" alt="" /&amp;gt;                &lt;br /&gt;    &amp;lt;/div&amp;gt;                &lt;br /&gt;    &amp;lt;div id="divFrameHolder" &lt;strong&gt;style="display:none"&lt;/strong&gt;&amp;gt;                &lt;br /&gt;        &amp;lt;iframe src="http://asp.net" &lt;strong&gt;onload="hideLoading()"&lt;/strong&gt; frameborder="0"&amp;gt;                &lt;br /&gt;        &lt;br /&gt;        &amp;lt;/iframe&amp;gt;                &lt;br /&gt;    &amp;lt;/div&amp;gt;                &lt;br /&gt;    &amp;lt;/form&amp;gt;                &lt;br /&gt;&amp;lt;/body&amp;gt;                &lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;             &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;What happened in the code above is we hide the container of Iframe (divFrameHolder) by setting the style to *display:none*. This is to ensure that the Iframe will not be seen if its content is not yet loaded on load of the page and instead show the animated gif (loading indicator). We then call the javascript method *hideLoading()* at onload event of Iframe to hide the animated gif when the content of the iframe is loaded.       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: tahoma"&gt;I hope someone find this post useful!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:887118dc-5975-40b9-928a-5923a0d2d50c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TipsTricks" rel="tag"&gt;TipsTricks&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/140910.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vincent Maverick Durano</dc:creator>
            <guid>http://geekswithblogs.net/dotNETvinz/archive/2010/07/13/display-animated-gif-before-iframe-content-is-loaded.aspx</guid>
            <pubDate>Tue, 13 Jul 2010 12:31:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/140910.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dotNETvinz/archive/2010/07/13/display-animated-gif-before-iframe-content-is-loaded.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/140910.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/140910.aspx</trackback:ping>
        </item>
    </channel>
</rss>
