<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GoogleAgent</title>
	<atom:link href="http://googleagent.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://googleagent.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 16 Nov 2010 05:13:17 +0000</lastBuildDate>
	<language></language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='googleagent.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>GoogleAgent</title>
		<link>http://googleagent.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://googleagent.wordpress.com/osd.xml" title="GoogleAgent" />
	<atom:link rel='hub' href='http://googleagent.wordpress.com/?pushpress=hub'/>
		<item>
		<title>paging grid view</title>
		<link>http://googleagent.wordpress.com/2010/11/16/paging-grid-view/</link>
		<comments>http://googleagent.wordpress.com/2010/11/16/paging-grid-view/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 05:13:17 +0000</pubDate>
		<dc:creator>googleagent</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googleagent.wordpress.com/?p=60</guid>
		<description><![CDATA[As the mode is limited, the pager doesn&#8217;t support showing number, prev/next, first/last all together. So you have to do it by coding in PagerTemplate .These are the great code I provide you and I hope you like it. In code behind protected void GridView1_DataBound(object sender, EventArgs e) { GridViewRow gvr = GridView1.BottomPagerRow; Label lb1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=60&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As the mode is limited, the pager doesn&#8217;t support showing number, prev/next, first/last all together. So you have to do it by coding in PagerTemplate .These are the great code I provide you and I hope you like it.</p>
<p>In code behind</p>
<p>                protected void GridView1_DataBound(object sender, EventArgs e)<br />
        {<br />
            GridViewRow gvr = GridView1.BottomPagerRow;<br />
            Label lb1 = (Label)gvr.Cells[0].FindControl(&#8220;CurrentPage&#8221;);<br />
            lb1.Text = Convert.ToString(GridView1.PageIndex+1);<br />
            int[] page = new int[7];<br />
            page[0] = GridView1.PageIndex &#8211; 2;<br />
            page[1] = GridView1.PageIndex &#8211; 1;<br />
            page[2] = GridView1.PageIndex;<br />
            page[3] = GridView1.PageIndex + 1;<br />
            page[4] = GridView1.PageIndex + 2;<br />
            page[5] = GridView1.PageIndex + 3;<br />
            page[6] = GridView1.PageIndex + 4;<br />
            for (int i = 0; i &lt; 7; i++)<br />
            {<br />
                if (i != 3)<br />
                {<br />
                    if (page[i]  GridView1.PageCount )<br />
                    {<br />
                        LinkButton lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;p&#8221; + Convert.ToString(i));<br />
                        lb.Visible = false;<br />
                    }<br />
                    else<br />
                    {<br />
                        LinkButton lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;p&#8221; + Convert.ToString(i));<br />
                        lb.Text = Convert.ToString(page[i]);</p>
<p>                        lb.CommandName = &#8220;PageNo&#8221;;<br />
                        lb.CommandArgument = lb.Text;</p>
<p>                    }<br />
                }<br />
            }<br />
            if (GridView1.PageIndex == 0)<br />
            {<br />
                LinkButton lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;LinkButton1&#8243;);<br />
                lb.Visible = false;<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;LinkButton2&#8243;);<br />
                lb.Visible = false;</p>
<p>            }<br />
            if (GridView1.PageIndex == GridView1.PageCount &#8211; 1)<br />
            {<br />
                LinkButton lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;LinkButton3&#8243;);<br />
                lb.Visible = false;<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&#8220;LinkButton4&#8243;);<br />
                lb.Visible = false;</p>
<p>            }<br />
            if (GridView1.PageIndex &gt; GridView1.PageCount &#8211; 5)<br />
            {<br />
                Label lbmore = (Label)gvr.Cells[0].FindControl(&#8220;nmore&#8221;);<br />
                lbmore.Visible = false;<br />
            }<br />
            if (GridView1.PageIndex &lt; 4)<br />
            {<br />
                Label lbmore = (Label)gvr.Cells[0].FindControl(&quot;pmore&quot;);<br />
                lbmore.Visible = false;<br />
            }</p>
<p>        }</p>
<p>        void lb_Command(object sender, CommandEventArgs e)<br />
        {<br />
            GridView1.PageIndex = Convert.ToInt32(e.CommandArgument) &#8211; 1;<br />
        }</p>
<p>        protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)<br />
        {</p>
<p>            if (e.Row.RowType == DataControlRowType.Pager)<br />
            {<br />
                GridViewRow gvr = e.Row;<br />
                LinkButton lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p0&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p1&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p2&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p4&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p5&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
                lb = (LinkButton)gvr.Cells[0].FindControl(&quot;p6&quot;);<br />
                lb.Command += new CommandEventHandler(lb_Command);<br />
            }<br />
        }</p>
<p>In aspx file. Add them to your GridView</p>
<p>                First</p>
<p>                Pre<br />
                LinkButton<br />
                LinkButton<br />
                LinkButton</p>
<p>                LinkButton<br />
                LinkButton<br />
                LinkButton<br />
                Next</p>
<p>                Last</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/googleagent.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/googleagent.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/googleagent.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=60&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://googleagent.wordpress.com/2010/11/16/paging-grid-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a9805b2629efc1b7b3a25411da2fed4e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">googleagent</media:title>
		</media:content>
	</item>
		<item>
		<title>Data Fateched By JSON ASP.NET</title>
		<link>http://googleagent.wordpress.com/2010/10/10/data-fateched-by-json-asp-net/</link>
		<comments>http://googleagent.wordpress.com/2010/10/10/data-fateched-by-json-asp-net/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 19:17:26 +0000</pubDate>
		<dc:creator>googleagent</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googleagent.wordpress.com/?p=109</guid>
		<description><![CDATA[Default.aspx&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; &#60;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221; CodeFile=&#8221;Default2.aspx.cs&#8221; Inherits=&#8221;Default2&#8243; %&#62; &#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&#62; &#60;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&#62; &#60;head runat=&#8221;server&#8221;&#62; &#60;title&#62;&#60;/title&#62; &#60;script type=&#8221;text/javascript&#8221;  src=&#8221;js/jquery-1.4.1.js&#8221; &#62;   &#60;/script&#62; &#60;script type=&#8221;text/javascript&#8221;&#62; $(document).ready(function() { $(&#8216;#btnShow&#8217;).click(function() { $.ajax ({ type: &#8220;POST&#8221;, contentType: &#8220;application/json; charset=utf-8&#8243;, url: &#8220;ProcessedPage.aspx&#8221;, data: &#8220;{}&#8221;, dataType: &#8220;json&#8221;, success: AjaxSucceeded, error: Ajaxfailure }); }); $(&#8216;#btnShowWebservice&#8217;).click(function() { $.ajax ({ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=109&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Default.aspx&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</strong></p>
<p>&lt;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221; CodeFile=&#8221;Default2.aspx.cs&#8221; Inherits=&#8221;Default2&#8243; %&gt;</p>
<p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<p>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;<br />
&lt;head runat=&#8221;server&#8221;&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;  src=&#8221;js/jquery-1.4.1.js&#8221; &gt;   &lt;/script&gt;</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(document).ready(function()<br />
{</p>
<p>$(&#8216;#btnShow&#8217;).click(function() {<br />
$.ajax<br />
({<br />
type: &#8220;POST&#8221;,<br />
contentType: &#8220;application/json; charset=utf-8&#8243;,<br />
url: &#8220;ProcessedPage.aspx&#8221;,<br />
data: &#8220;{}&#8221;,<br />
dataType: &#8220;json&#8221;,<br />
success: AjaxSucceeded,<br />
error: Ajaxfailure<br />
});<br />
});</p>
<p>$(&#8216;#btnShowWebservice&#8217;).click(function() {<br />
$.ajax<br />
({<br />
type: &#8220;POST&#8221;,<br />
contentType: &#8220;application/json; charset=utf-8&#8243;,<br />
url: &#8220;WebService.asmx/GetJSONFromObjectz1&#8243;,<br />
data: &#8220;{}&#8221;,<br />
dataType: &#8220;json&#8221;,<br />
success: AjaxSucceeded1,<br />
error: Ajaxfailure<br />
});<br />
});</p>
<p>$(&#8216;#btnHide&#8217;).click(function() {<br />
$(&#8216;#div1&#8242;).hide();<br />
});</p>
<p>});<br />
function AjaxSucceeded(result)<br />
{<br />
var i;<br />
var str;</p>
<p>str = &#8220;&#8221;;<br />
str = &#8220;&lt;table style=&#8217;border:1px solid #0099CC&#8217;&gt;&#8221;;<br />
str += &#8220;&lt;tr&gt;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Job ID&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Description&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Max Value&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Min Value&lt;/td&gt;&lt;/tr&gt;&#8221;</p>
<p>for (i = 0; i &lt; result.length; i++)<br />
{<br />
str += &#8220;&lt;tr&gt; &#8220;<br />
str += &#8220;&lt;td&gt; &#8221; + result[i].job_id + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + result[i].job_desc + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + result[i].max_lvl + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + result[i].min_lvl + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;/tr&gt;&#8221;;<br />
}<br />
str += &#8220;&lt;/table&gt;&#8221;;<br />
$(&#8216;#div1&#8242;).show().html(str);</p>
<p>}</p>
<p>function AjaxSucceeded1(result) {</p>
<p>var jobs = (typeof result.d) == &#8216;string&#8217; ? eval(&#8216;(&#8216; + result.d + &#8216;)&#8217;) : result.d;</p>
<p>var i;<br />
var str;</p>
<p>str = &#8220;&#8221;;<br />
str = &#8220;&lt;table style=&#8217;border:1px solid #0099CC&#8217;&gt;&#8221;;<br />
str += &#8220;&lt;tr&gt;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Job ID&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Description&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Max Value&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td bgcolor=&#8217;#0099CC&#8217;&gt;Min Value&lt;/td&gt;&lt;/tr&gt;&#8221;</p>
<p>for (i = 0; i &lt; jobs.length; i++) {<br />
str += &#8220;&lt;tr&gt; &#8220;<br />
str += &#8220;&lt;td&gt; &#8221; + jobs[i].job_id + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + jobs[i].job_desc + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + jobs[i].max_lvl + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;td&gt; &#8221; + jobs[i].min_lvl + &#8220;&lt;/td&gt;&#8221;<br />
str += &#8220;&lt;/tr&gt;&#8221;;<br />
}<br />
str += &#8220;&lt;/table&gt;&#8221;;<br />
$(&#8216;#div1&#8242;).show().html(str);</p>
<p>//  alert(&#8216;jobs.length&#8211;&gt; &#8216; + jobs[1].job_desc);<br />
//  alert(&#8216;AjaxSucceeded1&#8242;);<br />
//   alert(&#8216;result.responseText&#8212;&#8212;&#8212;&#8211;&gt; &#8216; + result.d.length + &#8216; &#8211;&gt; &#8216; + result.d);<br />
}</p>
<p>function Ajaxfailure(result) {<br />
alert(&#8216;Ajaxfailure&#8211;&gt;  &#8216; + result.status + &#8216; &#8216; + result.statusText);<br />
alert(&#8216;result.responseText&#8212;&#8212;&#8212;-&gt; &#8216; + result.responseText);<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;asp:ScriptManager ID=&#8221;ScriptManager1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;Services&gt;<br />
&lt;asp:ServiceReference Path=&#8221;~/WebService.asmx&#8221; /&gt;<br />
&lt;/Services&gt;<br />
&lt;/asp:ScriptManager&gt;<br />
&lt;div id=&#8221;Container&#8221;&gt;<br />
&lt;div id=&#8221;RSSBlock&#8221;&gt;<br />
&lt;div id=&#8221;RSSContent&#8221;&gt;Data Fateched By<br />
JSON through webservice&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>&lt;br /&gt;<br />
&lt;input id=&#8221;btnShow&#8221; value=&#8221;Show Data&#8221;<br />
type=&#8221;button&#8221; /&gt;&amp;nbsp;<br />
&lt;input id=&#8221;btnHide&#8221; value=&#8221;Hide Data&#8221;<br />
type=&#8221;button&#8221; /&gt;</p>
<p>&lt;input id=&#8221;btnShowWebservice&#8221; value=&#8221;Show Data via webservice&#8221;<br />
type=&#8221;button&#8221; /&gt;&amp;nbsp;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;div1&#8243; style=&#8221;display:none&#8221;&gt;<br />
&lt;/div&gt;</p>
<p>&lt;/form&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>&nbsp;</p>
<p><strong>ProcessedPage.aspx&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</strong></p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using System.Data;<br />
using System.Data.SqlClient;</p>
<p>// json&#8230;.<br />
using System.IO;<br />
using System.Runtime.Serialization;<br />
using System.Runtime.Serialization.Json;</p>
<p>public partial class ProcessedPage : System.Web.UI.Page<br />
{<br />
DataSet ds = new DataSet();<br />
string str = &#8220;vinay negi&#8221;;</p>
<p>List&lt;Person&gt; people = new List&lt;Person&gt;{<br />
new Person{job_id=&#8221;1&#8243;,job_desc=&#8221;manager&#8221;,min_lvl=28,max_lvl=400},<br />
new Person{job_id=&#8221;2&#8243;,job_desc=&#8221;engineer&#8221;,min_lvl=28,max_lvl=400}<br />
};</p>
<p>protected void Page_Load(object sender, EventArgs e)<br />
{</p>
<p>string jsondata;<br />
DataTable _dt;<br />
ds.ReadXml(Server.MapPath(&#8220;vikram.xml&#8221;));</p>
<p>_dt = ds.Tables[0];</p>
<p>jsondata = GetJSONFromObjectz1(_dt);<br />
// jsondata = &#8220;{&#8220;job_desc&#8221;:&#8221;account manager1&#8243;,&#8221;job_id&#8221;:&#8221;1&#8243;,&#8221;max_lvl&#8221;:150,&#8221;min_lvl&#8221;:100},{&#8220;job_desc&#8221;:&#8221;sales manager&#8221;,&#8221;job_id&#8221;:&#8221;2&#8243;,&#8221;max_lvl&#8221;:200,&#8221;min_lvl&#8221;:150},{&#8220;job_desc&#8221;:&#8221;retail manager&#8221;,&#8221;job_id&#8221;:&#8221;3&#8243;,&#8221;max_lvl&#8221;:340,&#8221;min_lvl&#8221;:300},{&#8220;job_desc&#8221;:&#8221;engineer&#8221;,&#8221;job_id&#8221;:&#8221;4&#8243;,&#8221;max_lvl&#8221;:460,&#8221;min_lvl&#8221;:400},{&#8220;job_desc&#8221;:&#8221;purchase offier&#8221;,&#8221;job_id&#8221;:&#8221;5&#8243;,&#8221;max_lvl&#8221;:500,&#8221;min_lvl&#8221;:450},{&#8220;job_desc&#8221;:&#8221;admin&#8221;,&#8221;job_id&#8221;:&#8221;6&#8243;,&#8221;max_lvl&#8221;:120,&#8221;min_lvl&#8221;:100},{&#8220;job_desc&#8221;:&#8221;human resource&#8221;,&#8221;job_id&#8221;:&#8221;7&#8243;,&#8221;max_lvl&#8221;:500,&#8221;min_lvl&#8221;:340},{&#8220;job_desc&#8221;:&#8221;customer support&#8221;,&#8221;job_id&#8221;:&#8221;8&#8243;,&#8221;max_lvl&#8221;:800,&#8221;min_lvl&#8221;:600},{&#8220;job_desc&#8221;:&#8221;front end&#8221;,&#8221;job_id&#8221;:&#8221;9&#8243;,&#8221;max_lvl&#8221;:1000,&#8221;min_lvl&#8221;:800},{&#8220;job_desc&#8221;:&#8221;data entry operator1&#8243;,&#8221;job_id&#8221;:&#8221;10&#8243;,&#8221;max_lvl&#8221;:1100,&#8221;min_lvl&#8221;:800},{&#8220;job_desc&#8221;:&#8221;food officer&#8221;,&#8221;job_id&#8221;:&#8221;11&#8243;,&#8221;max_lvl&#8221;:300,&#8221;min_lvl&#8221;:200},{&#8220;job_desc&#8221;:&#8221;board of director&#8221;,&#8221;job_id&#8221;:&#8221;12&#8243;,&#8221;max_lvl&#8221;:10,&#8221;min_lvl&#8221;:4},{&#8220;job_desc&#8221;:&#8221;supplier&#8221;,&#8221;job_id&#8221;:&#8221;13&#8243;,&#8221;max_lvl&#8221;:550,&#8221;min_lvl&#8221;:450},{&#8220;job_desc&#8221;:&#8221;electrician&#8221;,&#8221;job_id&#8221;:&#8221;14&#8243;,&#8221;max_lvl&#8221;:150,&#8221;min_lvl&#8221;:100}&#8221;;<br />
//jsondata = &#8220;[{ " + "\"" + "firstName" + "\"" + ":" + "\"" + "John" + "\"" + "," + "\"" + "lastName" + "\"" + ":" + "\"" +<br />
//    "Doe" + "\"" + "," + "\"" + "age " + "\"" + ":" + "23 }]&#8220;;</p>
<p>Response.Write(jsondata);</p>
<p>getdata();<br />
Response.End();<br />
}</p>
<p>public string getdata()<br />
{<br />
return str;<br />
}</p>
<p>//Alok Code for JSON&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
//using System.Runtime.Serialization;<br />
//using System.Runtime.Serialization.Json;<br />
public static string GetJSONFromObjectz(Object response)<br />
{<br />
DataContractJsonSerializer objSerializer = new DataContractJsonSerializer(response.GetType());<br />
MemoryStream ms = new MemoryStream();<br />
objSerializer.WriteObject(ms, response);<br />
string json = (System.Text.Encoding.Default.GetString(ms.ToArray()));<br />
return json;<br />
}</p>
<p>public static string GetJSONFromObjectz1(DataTable dt)<br />
{<br />
//List&lt;Person&gt; people1 = new List&lt;Person&gt;{<br />
//                        new Person{job_id=&#8221;1&#8243;,job_desc=&#8221;manager&#8221;,min_lvl=28,max_lvl=400},<br />
//                        new Person{job_id=&#8221;2&#8243;,job_desc=&#8221;engineer&#8221;,min_lvl=28,max_lvl=400}<br />
//                        };</p>
<p>List&lt;Person&gt; people1 = new List&lt;Person&gt;();</p>
<p>for(int i=0;i&lt;=dt.Rows.Count-1;i++)<br />
{<br />
Person _p = new Person();<br />
_p.job_id = Convert.ToString(dt.Rows[i][0].ToString());<br />
_p.job_desc = Convert.ToString(dt.Rows[i][1].ToString());<br />
_p.min_lvl = Convert.ToInt16(dt.Rows[i][2].ToString());<br />
_p.max_lvl = Convert.ToInt16(dt.Rows[i][3].ToString());<br />
people1.Add(_p);</p>
<p>}</p>
<p>string data;<br />
data= GetJSONFromObjectz(people1);<br />
return data;<br />
}</p>
<p>//public static string getJSON()<br />
//{<br />
//    List&lt;Person&gt; people = new List&lt;Person&gt;{<br />
//                            new Person{ID=1,name=&#8221;vikram&#8221;,age=28},<br />
//                            new Person{ID=2,name=&#8221;alok&#8221;,age=28}<br />
//                            };<br />
//    string strJSON=people.TOJSON<br />
//}</p>
<p><strong>}</strong></p>
<p><strong>WebService.cs&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</strong></p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.Services;<br />
using System.Data;<br />
using System.Data.SqlClient;</p>
<p>// json&#8230;.<br />
using System.IO;<br />
using System.Runtime.Serialization;</p>
<p>using System.Runtime.Serialization.Json;</p>
<p>/// &lt;summary&gt;<br />
/// Summary description for WebService<br />
/// &lt;/summary&gt;<br />
[WebService(Namespace = "http://tempuri.org/")]<br />
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]<br />
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.<br />
[System.Web.Script.Services.ScriptService]<br />
public class WebService : System.Web.Services.WebService {</p>
<p>public WebService () {</p>
<p>//Uncomment the following line if using designed components<br />
//InitializeComponent();<br />
}</p>
<p>[WebMethod]<br />
public string HelloWorld() {<br />
return &#8220;Hello World&#8221;;<br />
}</p>
<p>[WebMethod]<br />
public string HelloWorld1()<br />
{<br />
return &#8220;Hello World&#8221;;<br />
}<br />
// [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json)]<br />
[WebMethod]<br />
public string GetJSONFromObjectz1()<br />
{<br />
DataSet ds = new DataSet();<br />
DataTable dt;<br />
ds.ReadXml(Server.MapPath(&#8220;vikram.xml&#8221;));</p>
<p>dt = ds.Tables[0];</p>
<p>List&lt;Person&gt; people1 = new List&lt;Person&gt;();</p>
<p>for (int i = 0; i &lt;= dt.Rows.Count &#8211; 1; i++)<br />
{<br />
Person _p = new Person();<br />
_p.job_id = Convert.ToString(dt.Rows[i][0].ToString());<br />
_p.job_desc = Convert.ToString(dt.Rows[i][1].ToString());<br />
_p.min_lvl = Convert.ToInt16(dt.Rows[i][2].ToString());<br />
_p.max_lvl = Convert.ToInt16(dt.Rows[i][3].ToString());<br />
people1.Add(_p);</p>
<p>}</p>
<p>string data;<br />
data = GetJSONFromObjectz(people1);<br />
return data;<br />
}</p>
<p>public string GetJSONFromObjectz(Object response)<br />
{<br />
DataContractJsonSerializer objSerializer = new DataContractJsonSerializer(response.GetType());<br />
MemoryStream ms = new MemoryStream();<br />
objSerializer.WriteObject(ms, response);<br />
string json = (System.Text.Encoding.Default.GetString(ms.ToArray()));<br />
return json;<br />
}</p>
<p>}</p>
<p><strong>Person.cs&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</strong></p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;</p>
<p>/// &lt;summary&gt;<br />
/// Summary description for Person<br />
/// &lt;/summary&gt;<br />
public class Person<br />
{<br />
string _job_id;</p>
<p>public string job_id<br />
{</p>
<p>get<br />
{return _job_id;}</p>
<p>set<br />
{_job_id=value;}<br />
}<br />
public string job_desc { get; set; }<br />
public int min_lvl { get; set; }<br />
public int max_lvl  { get; set; }<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/googleagent.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/googleagent.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/googleagent.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=109&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://googleagent.wordpress.com/2010/10/10/data-fateched-by-json-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a9805b2629efc1b7b3a25411da2fed4e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">googleagent</media:title>
		</media:content>
	</item>
		<item>
		<title>Nested Grid View</title>
		<link>http://googleagent.wordpress.com/2010/10/09/nested-grid-view/</link>
		<comments>http://googleagent.wordpress.com/2010/10/09/nested-grid-view/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 17:09:58 +0000</pubDate>
		<dc:creator>googleagent</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googleagent.wordpress.com/?p=106</guid>
		<description><![CDATA[Default.aspx&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#60;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221;  CodeFile=&#8221;Default.aspx.cs&#8221; Inherits=&#8221;_Default&#8221; %&#62; &#60;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&#62; &#60;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; &#62; &#60;head id=&#8221;Head1&#8243; runat=&#8221;server&#8221;&#62; &#60;title&#62;Editable Nested Grid View&#60;/title&#62; &#60;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&#62; function expandcollapse(obj,row) { var div = document.getElementById(obj); var img = document.getElementById(&#8216;img&#8217; + obj); if (div.style.display == &#8220;none&#8221;) { div.style.display = &#8220;block&#8221;; if (row == &#8216;alt&#8217;) { [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=106&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Default.aspx</strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>&lt;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221;  CodeFile=&#8221;Default.aspx.cs&#8221; Inherits=&#8221;_Default&#8221; %&gt;</p>
<p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<p>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; &gt;<br />
&lt;head id=&#8221;Head1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;title&gt;Editable Nested Grid View&lt;/title&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
function expandcollapse(obj,row)<br />
{<br />
var div = document.getElementById(obj);<br />
var img = document.getElementById(&#8216;img&#8217; + obj);</p>
<p>if (div.style.display == &#8220;none&#8221;)<br />
{<br />
div.style.display = &#8220;block&#8221;;<br />
if (row == &#8216;alt&#8217;)<br />
{<br />
img.src = &#8220;minus.gif&#8221;;<br />
}<br />
else<br />
{<br />
img.src = &#8220;minus.gif&#8221;;<br />
}<br />
img.alt = &#8220;Close to view other Customers&#8221;;<br />
}<br />
else<br />
{<br />
div.style.display = &#8220;none&#8221;;<br />
if (row == &#8216;alt&#8217;)<br />
{<br />
img.src = &#8220;plus.gif&#8221;;<br />
}<br />
else<br />
{<br />
img.src = &#8220;plus.gif&#8221;;<br />
}<br />
img.alt = &#8220;Expand to show Orders&#8221;;<br />
}<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;div&gt;<br />
&lt;asp:GridView ID=&#8221;GridView1&#8243; AllowPaging=&#8221;True&#8221; BackColor=&#8221;#f1f1f1&#8243;<br />
AutoGenerateColumns=&#8221;false&#8221;  DataKeyNames=&#8221;CustomerID&#8221;<br />
style=&#8221;Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 32px&#8221; ShowFooter=&#8221;true&#8221; Font-Size=&#8221;small&#8221;<br />
Font-Names=&#8221;Verdana&#8221; runat=&#8221;server&#8221; GridLines=&#8221;None&#8221; OnRowDataBound=&#8221;GridView1_RowDataBound&#8221;<br />
OnRowCommand = &#8220;GridView1_RowCommand&#8221; OnRowUpdating = &#8220;GridView1_RowUpdating&#8221; BorderStyle=&#8221;Outset&#8221;<br />
OnRowDeleting = &#8220;GridView1_RowDeleting&#8221; OnRowDeleted = &#8220;GridView1_RowDeleted&#8221;<br />
OnRowUpdated = &#8220;GridView1_RowUpdated&#8221; AllowSorting=&#8221;true&#8221; OnSelectedIndexChanged=&#8221;GridView1_SelectedIndexChanged&#8221; PageSize=&#8221;20&#8243; OnPageIndexChanging=&#8221;GridView1_PageIndexChanging&#8221; OnSorting=&#8221;GridView1_Sorting&#8221; OnRowEditing=&#8221;GridView1_RowEditing&#8221;&gt;<br />
&lt;RowStyle BackColor=&#8221;Gainsboro&#8221; /&gt;<br />
&lt;AlternatingRowStyle BackColor=&#8221;White&#8221; /&gt;<br />
&lt;HeaderStyle BackColor=&#8221;#0083C1&#8243; ForeColor=&#8221;White&#8221;/&gt;<br />
&lt;FooterStyle BackColor=&#8221;White&#8221; /&gt;<br />
&lt;Columns&gt;<br />
&lt;asp:TemplateField&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;a href=&#8221;javascript:expandcollapse(&#8216;div&lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8217;, &#8216;one&#8217;);&#8221;&gt;<br />
&lt;img id=&#8221;imgdiv&lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8221; alt=&#8221;Click to show/hide Orders for Customer &lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8221;  width=&#8221;9px&#8221; border=&#8221;0&#8243; src=&#8221;plus.gif&#8221;/&gt;<br />
&lt;/a&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Customer ID&#8221; SortExpression=&#8221;CustomerID&#8221;&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;asp:Label ID=&#8221;lblCustomerID&#8221; Text=&#8217;&lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:Label ID=&#8221;lblCustomerID&#8221; Text=&#8217;&lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtCustomerID&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Company Name&#8221; SortExpression=&#8221;CompanyName&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;CompanyName&#8221;) %&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtCompanyName&#8221; Text=&#8217;&lt;%# Eval(&#8220;CompanyName&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtCompanyName&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Contact Name&#8221; SortExpression=&#8221;ContactName&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;ContactName&#8221;) %&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtContactName&#8221; Text=&#8217;&lt;%# Eval(&#8220;ContactName&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtContactName&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Contact Title&#8221; SortExpression=&#8221;ContactTitle&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;ContactTitle&#8221;)%&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtContactTitle&#8221; Text=&#8217;&lt;%# Eval(&#8220;ContactTitle&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtContactTitle&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Address&#8221; SortExpression=&#8221;Address&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;Address&#8221;)%&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtAddress&#8221; Text=&#8217;&lt;%# Eval(&#8220;Address&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtAddress&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;</p>
<p>&lt;asp:CommandField HeaderText=&#8221;Edit&#8221; ShowEditButton=&#8221;True&#8221; /&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Delete&#8221;&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;asp:LinkButton ID=&#8221;linkDeleteCust&#8221; CommandName=&#8221;Delete&#8221; runat=&#8221;server&#8221;&gt;Delete&lt;/asp:LinkButton&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:LinkButton ID=&#8221;linkAddCust&#8221; CommandName=&#8221;AddCustomer&#8221; runat=&#8221;server&#8221;&gt;Add&lt;/asp:LinkButton&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;</p>
<p>&lt;asp:TemplateField&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;tr&gt;<br />
&lt;td colspan=&#8221;100%&#8221;&gt;<br />
&lt;div id=&#8221;div&lt;%# Eval(&#8220;CustomerID&#8221;) %&gt;&#8221; style=&#8221;display:none;position:relative;left:15px;OVERFLOW: auto;WIDTH:97%&#8221; &gt;<br />
&lt;asp:GridView ID=&#8221;GridView2&#8243; AllowPaging=&#8221;True&#8221; AllowSorting=&#8221;true&#8221; BackColor=&#8221;White&#8221; Width=&#8221;100%&#8221; Font-Size=&#8221;X-Small&#8221;<br />
AutoGenerateColumns=&#8221;false&#8221; Font-Names=&#8221;Verdana&#8221; runat=&#8221;server&#8221; DataKeyNames=&#8221;CustomerID&#8221; ShowFooter=&#8221;true&#8221;<br />
OnPageIndexChanging=&#8221;GridView2_PageIndexChanging&#8221; OnRowUpdating = &#8220;GridView2_RowUpdating&#8221;<br />
OnRowCommand = &#8220;GridView2_RowCommand&#8221; OnRowEditing = &#8220;GridView2_RowEditing&#8221; GridLines=&#8221;None&#8221;<br />
OnRowUpdated = &#8220;GridView2_RowUpdated&#8221; OnRowCancelingEdit = &#8220;GridView2_CancelingEdit&#8221; OnRowDataBound = &#8220;GridView2_RowDataBound&#8221;<br />
OnRowDeleting = &#8220;GridView2_RowDeleting&#8221; OnRowDeleted = &#8220;GridView2_RowDeleted&#8221; OnSorting = &#8220;GridView2_Sorting&#8221;<br />
BorderStyle=&#8221;Double&#8221; BorderColor=&#8221;#0083C1&#8243;&gt;<br />
&lt;RowStyle BackColor=&#8221;Gainsboro&#8221; /&gt;<br />
&lt;AlternatingRowStyle BackColor=&#8221;White&#8221; /&gt;<br />
&lt;HeaderStyle BackColor=&#8221;#0083C1&#8243; ForeColor=&#8221;White&#8221;/&gt;<br />
&lt;FooterStyle BackColor=&#8221;White&#8221; /&gt;<br />
&lt;Columns&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Order ID&#8221; SortExpression=&#8221;OrderID&#8221;&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;asp:Label ID=&#8221;lblOrderID&#8221; Text=&#8217;&lt;%# Eval(&#8220;OrderID&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:Label ID=&#8221;lblOrderID&#8221; Text=&#8217;&lt;%# Eval(&#8220;OrderID&#8221;) %&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:Label&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Freight&#8221; SortExpression=&#8221;Freight&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;Freight&#8221;)%&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtFreight&#8221; Text=&#8217;&lt;%# Eval(&#8220;Freight&#8221;)%&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtFreight&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Shipper Name&#8221; SortExpression=&#8221;ShipName&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;ShipName&#8221;)%&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtShipperName&#8221; Text=&#8217;&lt;%# Eval(&#8220;ShipName&#8221;)%&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtShipperName&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Ship Address&#8221; SortExpression=&#8221;ShipAddress&#8221;&gt;<br />
&lt;ItemTemplate&gt;&lt;%# Eval(&#8220;ShipAddress&#8221;)%&gt;&lt;/ItemTemplate&gt;<br />
&lt;EditItemTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtShipAdress&#8221; Text=&#8217;&lt;%# Eval(&#8220;ShipAddress&#8221;)%&gt;&#8217; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/EditItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:TextBox ID=&#8221;txtShipAdress&#8221; Text=&#8221; runat=&#8221;server&#8221;&gt;&lt;/asp:TextBox&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;</p>
<p>&lt;asp:CommandField HeaderText=&#8221;Edit&#8221; ShowEditButton=&#8221;True&#8221; /&gt;<br />
&lt;asp:TemplateField HeaderText=&#8221;Delete&#8221;&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;asp:LinkButton ID=&#8221;linkDeleteCust&#8221; CommandName=&#8221;Delete&#8221; runat=&#8221;server&#8221;&gt;Delete&lt;/asp:LinkButton&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;FooterTemplate&gt;<br />
&lt;asp:LinkButton ID=&#8221;linkAddOrder&#8221; CommandName=&#8221;AddOrder&#8221; runat=&#8221;server&#8221;&gt;Add&lt;/asp:LinkButton&gt;<br />
&lt;/FooterTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;/Columns&gt;<br />
&lt;/asp:GridView&gt;<br />
&lt;/div&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;/asp:TemplateField&gt;<br />
&lt;/Columns&gt;<br />
&lt;/asp:GridView&gt;<br />
Vinay Grid View&lt;/div&gt;</p>
<p>&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><strong>Default.cs&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</strong></p>
<p>using System;<br />
using System.Data;<br />
using System.Configuration;<br />
using System.Web;<br />
using System.Web.Security;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using System.Web.UI.WebControls.WebParts;<br />
using System.Web.UI.HtmlControls;<br />
using System.Data.OleDb;<br />
using System.Data.SqlClient;</p>
<p>public partial class _Default : System.Web.UI.Page<br />
{</p>
<p>#region Variables<br />
string gvUniqueID = String.Empty;<br />
int gvNewPageIndex = 0;<br />
int gvEditIndex = -1;<br />
string gvSortExpr = String.Empty;<br />
string gvSortExpr1 = String.Empty;<br />
private string gvSortDir<br />
{</p>
<p>get { return ViewState["SortDirection"] as string ?? &#8220;ASC&#8221;; }</p>
<p>set { ViewState["SortDirection"] = value; }</p>
<p>}<br />
#endregion</p>
<p>//This procedure returns the Sort Direction<br />
private string GetSortDirection()<br />
{<br />
switch (gvSortDir)<br />
{<br />
case &#8220;ASC&#8221;:<br />
gvSortDir = &#8220;DESC&#8221;;<br />
break;</p>
<p>case &#8220;DESC&#8221;:<br />
gvSortDir = &#8220;ASC&#8221;;<br />
break;<br />
}<br />
return gvSortDir;<br />
}</p>
<p>public string sortOrder<br />
{<br />
get<br />
{<br />
if (Convert.ToString(ViewState["sortOrder"]) == &#8220;desc&#8221;)<br />
{<br />
ViewState["sortOrder"] = &#8220;asc&#8221;;<br />
}<br />
else<br />
{<br />
ViewState["sortOrder"] = &#8220;desc&#8221;;<br />
}</p>
<p>return ViewState["sortOrder"].ToString();<br />
}<br />
set<br />
{<br />
ViewState["sortOrder"] = value;<br />
}<br />
}</p>
<p>//This procedure prepares the query to bind the child GridView<br />
//private AccessDataSource ChildDataSource(string strCustometId, string strSort)<br />
//{<br />
//    string strQRY = &#8220;&#8221;;<br />
//    AccessDataSource dsTemp = new AccessDataSource();<br />
//    dsTemp.DataFile = &#8220;App_Data/Northwind.mdb&#8221;;<br />
//    strQRY = &#8220;SELECT [Orders].[CustomerID],[Orders].[OrderID],&#8221; +<br />
//                            &#8220;[Orders].[ShipAddress],[Orders].[Freight],[Orders].[ShipName] FROM [Orders]&#8221; +<br />
//                            &#8221; WHERE [Orders].[CustomerID] = &#8216;&#8221; + strCustometId + &#8220;&#8216;&#8221; +<br />
//                            &#8220;UNION ALL &#8221; +<br />
//                            &#8220;SELECT &#8216;&#8221; + strCustometId + &#8220;&#8216;,&#8221;,&#8221;,&#8221;,&#8221; FROM [Orders] WHERE [Orders].[CustomerID] = &#8216;&#8221; + strCustometId + &#8220;&#8216;&#8221; +<br />
//                            &#8220;HAVING COUNT(*)=0 &#8221; + strSort;</p>
<p>//    dsTemp.SelectCommand = strQRY;<br />
//    return dsTemp;<br />
//}</p>
<p>protected void Page_Load(object sender, EventArgs e)<br />
{<br />
if (!Page.IsPostBack)<br />
{<br />
BindDataGV1(gvSortExpr1, sortOrder);<br />
}<br />
}</p>
<p>#region GridView1 Event Handlers<br />
//This event occurs for each row<br />
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br />
{<br />
GridViewRow row = e.Row;<br />
string strSort = string.Empty;<br />
//if (e.Row.RowIndex / 4 == 0)<br />
//{<br />
//    e.Row.BackColor = System.Drawing.Color.Chocolate;<br />
//}<br />
// Make sure we aren&#8217;t in header/footer rows<br />
if (row.DataItem == null)<br />
{<br />
return;<br />
}</p>
<p>//Find Child GridView control<br />
GridView gv = new GridView();<br />
gv = (GridView)row.FindControl(&#8220;GridView2&#8243;);</p>
<p>//Check if any additional conditions (Paging, Sorting, Editing, etc) to be applied on child GridView<br />
if (gv.UniqueID == gvUniqueID)<br />
{<br />
gv.PageIndex = gvNewPageIndex;<br />
gv.EditIndex = gvEditIndex;<br />
//Check if Sorting used<br />
if (gvSortExpr != string.Empty)<br />
{<br />
GetSortDirection();<br />
strSort = &#8221; ORDER BY &#8221; + string.Format(&#8220;{0} {1}&#8221;, gvSortExpr, gvSortDir);<br />
}<br />
//Expand the Child grid<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Expand&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;expandcollapse(&#8216;div&#8221; + ((DataRowView)e.Row.DataItem)["CustomerID"].ToString() + &#8220;&#8216;,&#8217;one&#8217;);&lt;/script&gt;&#8221;);<br />
}</p>
<p>//Prepare the query for Child GridView by passing the Customer ID of the parent row<br />
// gv.DataSource = ChildDataSource(((DataRowView)e.Row.DataItem)["CustomerID"].ToString(), strSort);<br />
//  gv.DataBind();</p>
<p>gv.DataSource = ChildData(((DataRowView)e.Row.DataItem)["CustomerID"].ToString(), strSort);<br />
gv.DataBind();</p>
<p>//Add delete confirmation message for Customer<br />
LinkButton l = (LinkButton)e.Row.FindControl(&#8220;linkDeleteCust&#8221;);<br />
l.Attributes.Add(&#8220;onclick&#8221;, &#8220;javascript:return &#8221; +<br />
&#8220;confirm(&#8216;Are you sure you want to delete this Customer &#8221; +<br />
DataBinder.Eval(e.Row.DataItem, &#8220;CustomerID&#8221;) + &#8220;&#8216;)&#8221;);</p>
<p>}</p>
<p>//This event occurs for any operation on the row of the grid<br />
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)<br />
{<br />
//Check if Add button clicked<br />
if (e.CommandName == &#8220;AddCustomer&#8221;)<br />
{<br />
try<br />
{<br />
//Get the values stored in the text boxes<br />
string strCompanyName = ((TextBox)GridView1.FooterRow.FindControl(&#8220;txtCompanyName&#8221;)).Text;<br />
string strContactName = ((TextBox)GridView1.FooterRow.FindControl(&#8220;txtContactName&#8221;)).Text;<br />
string strContactTitle = ((TextBox)GridView1.FooterRow.FindControl(&#8220;txtContactTitle&#8221;)).Text;<br />
string strAddress = ((TextBox)GridView1.FooterRow.FindControl(&#8220;txtAddress&#8221;)).Text;<br />
string strCustomerID = ((TextBox)GridView1.FooterRow.FindControl(&#8220;txtCustomerID&#8221;)).Text;</p>
<p>//Prepare the Insert Command of the DataSource control<br />
string strSQL = &#8220;&#8221;;<br />
strSQL = &#8220;INSERT INTO Customers (CustomerID, CompanyName, ContactName, &#8221; +<br />
&#8220;ContactTitle, Address) VALUES (&#8216;&#8221; + strCustomerID + &#8220;&#8216;,&#8217;&#8221; + strCompanyName + &#8220;&#8216;,&#8217;&#8221; +<br />
strContactName + &#8220;&#8216;,&#8217;&#8221; + strContactTitle + &#8220;&#8216;,&#8217;&#8221; + strAddress + &#8220;&#8216;)&#8221;;</p>
<p>SqlConnection con = new SqlConnection();<br />
con.ConnectionString = &#8220;Data Source=localhost;user id=sa;password=VINAY;Initial Catalog=northwind&#8221;;<br />
con.Open();<br />
SqlCommand cmd = new SqlCommand(strSQL, con);<br />
int x = 0;<br />
x = cmd.ExecuteNonQuery();<br />
con.Close();</p>
<p>//  AccessDataSource1.InsertCommand = strSQL;<br />
//    AccessDataSource1.Insert();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Customer added successfully&#8217;);&lt;/script&gt;&#8221;);</p>
<p>//Re bind the grid to refresh the data<br />
BindDataGV1(gvSortExpr1, sortOrder);<br />
}<br />
catch (Exception ex)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + ex.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
}<br />
}<br />
}</p>
<p>//This event occurs on click of the Update button<br />
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)<br />
{<br />
//Get the values stored in the text boxes<br />
string strCompanyName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(&#8220;txtCompanyName&#8221;)).Text;<br />
string strContactName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(&#8220;txtContactName&#8221;)).Text;<br />
string strContactTitle = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(&#8220;txtContactTitle&#8221;)).Text;<br />
string strAddress = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(&#8220;txtAddress&#8221;)).Text;<br />
string strCustomerID = ((Label)GridView1.Rows[e.RowIndex].FindControl(&#8220;lblCustomerID&#8221;)).Text;</p>
<p>try<br />
{<br />
//Prepare the Update Command of the DataSource control<br />
string strSQL = &#8220;&#8221;;<br />
strSQL = &#8220;UPDATE Customers set CompanyName = &#8216;&#8221; + strCompanyName + &#8220;&#8216;&#8221; +<br />
&#8220;,ContactName = &#8216;&#8221; + strContactName + &#8220;&#8216;&#8221; +<br />
&#8220;,ContactTitle = &#8216;&#8221; + strContactTitle + &#8220;&#8216;&#8221; +<br />
&#8220;,Address = &#8216;&#8221; + strAddress + &#8220;&#8216;&#8221; +<br />
&#8221; WHERE CustomerID = &#8216;&#8221; + strCustomerID + &#8220;&#8216;&#8221;;<br />
// AccessDataSource1.UpdateCommand = strSQL;<br />
//AccessDataSource1.Update();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Customer updated successfully&#8217;);&lt;/script&gt;&#8221;);<br />
}<br />
catch { }<br />
}</p>
<p>//This event occurs after RowUpdating to catch any constraints while updating<br />
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)<br />
{<br />
//Check if there is any exception while deleting<br />
if (e.Exception != null)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + e.Exception.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
e.ExceptionHandled = true;<br />
}<br />
}</p>
<p>//This event occurs on click of the Delete button<br />
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)<br />
{<br />
//Get the value<br />
string strCustomerID = ((Label)GridView1.Rows[e.RowIndex].FindControl(&#8220;lblCustomerID&#8221;)).Text;</p>
<p>//Prepare the delete Command of the DataSource control<br />
string strSQL = &#8220;&#8221;;</p>
<p>try<br />
{<br />
strSQL = &#8220;DELETE from Customers WHERE CustomerID = &#8216;&#8221; + strCustomerID + &#8220;&#8216;&#8221;;<br />
//AccessDataSource1.DeleteCommand = strSQL;<br />
//AccessDataSource1.Delete();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Customer deleted successfully&#8217;);&lt;/script&gt;&#8221;);<br />
}<br />
catch { }<br />
}</p>
<p>//This event occurs after RowDeleting to catch any constraints while deleting<br />
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)<br />
{<br />
//Check if there is any exception while deleting<br />
if (e.Exception != null)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + e.Exception.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
e.ExceptionHandled = true;<br />
}<br />
}<br />
#endregion</p>
<p>#region GridView2 Event Handlers<br />
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;<br />
gvNewPageIndex = e.NewPageIndex;<br />
GridView1.DataBind();<br />
}</p>
<p>protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)<br />
{<br />
if (e.CommandName == &#8220;AddOrder&#8221;)<br />
{<br />
try<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;</p>
<p>//Get the values stored in the text boxes<br />
string strCustomerID = gvTemp.DataKeys[0].Value.ToString();  //Customer ID is stored as DataKeyNames<br />
string strFreight = ((TextBox)gvTemp.FooterRow.FindControl(&#8220;txtFreight&#8221;)).Text;<br />
string strShipperName = ((TextBox)gvTemp.FooterRow.FindControl(&#8220;txtShipperName&#8221;)).Text;<br />
string strShipAdress = ((TextBox)gvTemp.FooterRow.FindControl(&#8220;txtShipAdress&#8221;)).Text;</p>
<p>//Prepare the Insert Command of the DataSource control<br />
string strSQL = &#8220;&#8221;;<br />
strSQL = &#8220;INSERT INTO Orders (CustomerID, Freight, ShipName, &#8221; +<br />
&#8220;ShipAddress) VALUES (&#8216;&#8221; + strCustomerID + &#8220;&#8216;,&#8221; + float.Parse(strFreight) + &#8220;,&#8217;&#8221; +<br />
strShipperName + &#8220;&#8216;,&#8217;&#8221; + strShipAdress + &#8220;&#8216;)&#8221;;</p>
<p>SqlConnection con = new SqlConnection();<br />
con.ConnectionString = &#8220;Data Source=localhost;user id=sa;password=VINAY;Initial Catalog=northwind&#8221;;<br />
con.Open();<br />
SqlCommand cmd = new SqlCommand(strSQL, con);<br />
int x = 0;<br />
x=cmd.ExecuteNonQuery();<br />
con.Close();</p>
<p>//AccessDataSource1.InsertCommand = strSQL;<br />
//AccessDataSource1.Insert();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Order added successfully&#8217;);&lt;/script&gt;&#8221;);</p>
<p>BindDataGV1(gvSortExpr1, sortOrder);<br />
}<br />
catch (Exception ex)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + ex.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
}<br />
}<br />
}</p>
<p>protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;<br />
gvEditIndex = e.NewEditIndex;<br />
GridView1.DataBind();<br />
}</p>
<p>protected void GridView2_CancelingEdit(object sender, GridViewCancelEditEventArgs e)<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;<br />
gvEditIndex = -1;<br />
GridView1.DataBind();<br />
}</p>
<p>protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)<br />
{<br />
try<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;</p>
<p>//Get the values stored in the text boxes<br />
string strOrderID = ((Label)gvTemp.Rows[e.RowIndex].FindControl(&#8220;lblOrderID&#8221;)).Text;<br />
string strFreight = ((TextBox)gvTemp.Rows[e.RowIndex].FindControl(&#8220;txtFreight&#8221;)).Text;<br />
string strShipperName = ((TextBox)gvTemp.Rows[e.RowIndex].FindControl(&#8220;txtShipperName&#8221;)).Text;<br />
string strShipAdress = ((TextBox)gvTemp.Rows[e.RowIndex].FindControl(&#8220;txtShipAdress&#8221;)).Text;</p>
<p>//Prepare the Update Command of the DataSource control<br />
AccessDataSource dsTemp = new AccessDataSource();<br />
dsTemp.DataFile = &#8220;App_Data/Northwind.mdb&#8221;;<br />
string strSQL = &#8220;&#8221;;<br />
strSQL = &#8220;UPDATE Orders set Freight = &#8221; + float.Parse(strFreight) + &#8220;&#8221; +<br />
&#8220;,ShipName = &#8216;&#8221; + strShipperName + &#8220;&#8216;&#8221; +<br />
&#8220;,ShipAddress = &#8216;&#8221; + strShipAdress + &#8220;&#8216;&#8221; +<br />
&#8221; WHERE OrderID = &#8221; + strOrderID;<br />
dsTemp.UpdateCommand = strSQL;<br />
dsTemp.Update();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Order updated successfully&#8217;);&lt;/script&gt;&#8221;);</p>
<p>//Reset Edit Index<br />
gvEditIndex = -1;</p>
<p>GridView1.DataBind();<br />
}<br />
catch { }<br />
}</p>
<p>protected void GridView2_RowUpdated(object sender, GridViewUpdatedEventArgs e)<br />
{<br />
//Check if there is any exception while deleting<br />
if (e.Exception != null)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + e.Exception.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
e.ExceptionHandled = true;<br />
}<br />
}</p>
<p>protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;</p>
<p>//Get the value<br />
string strOrderID = ((Label)gvTemp.Rows[e.RowIndex].FindControl(&#8220;lblOrderID&#8221;)).Text;</p>
<p>//Prepare the Update Command of the DataSource control<br />
string strSQL = &#8220;&#8221;;</p>
<p>try<br />
{<br />
strSQL = &#8220;DELETE from Orders WHERE OrderID = &#8221; + strOrderID;<br />
AccessDataSource dsTemp = new AccessDataSource();<br />
dsTemp.DataFile = &#8220;App_Data/Northwind.mdb&#8221;;<br />
dsTemp.DeleteCommand = strSQL;<br />
dsTemp.Delete();<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;Order deleted successfully&#8217;);&lt;/script&gt;&#8221;);<br />
GridView1.DataBind();<br />
}<br />
catch { }<br />
}</p>
<p>protected void GridView2_RowDeleted(object sender, GridViewDeletedEventArgs e)<br />
{<br />
//Check if there is any exception while deleting<br />
if (e.Exception != null)<br />
{<br />
ClientScript.RegisterStartupScript(GetType(), &#8220;Message&#8221;, &#8220;&lt;SCRIPT LANGUAGE=&#8217;javascript&#8217;&gt;alert(&#8216;&#8221; + e.Exception.Message.ToString().Replace(&#8220;&#8216;&#8221;, &#8220;&#8221;) + &#8220;&#8216;);&lt;/script&gt;&#8221;);<br />
e.ExceptionHandled = true;<br />
}<br />
}</p>
<p>protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)<br />
{<br />
//Check if this is our Blank Row being databound, if so make the row invisible<br />
if (e.Row.RowType == DataControlRowType.DataRow)<br />
{<br />
if (((DataRowView)e.Row.DataItem)["OrderID"].ToString() == String.Empty) e.Row.Visible = false;<br />
}<br />
}</p>
<p>protected void GridView2_Sorting(object sender, GridViewSortEventArgs e)<br />
{<br />
GridView gvTemp = (GridView)sender;<br />
gvUniqueID = gvTemp.UniqueID;<br />
gvSortExpr = e.SortExpression;<br />
BindDataGV1(gvSortExpr1, sortOrder);<br />
//GridView1.DataBind();<br />
}<br />
#endregion</p>
<p>protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)<br />
{</p>
<p>}</p>
<p>public DataSet GetDataCustomer()<br />
{<br />
SqlConnection con = new SqlConnection();<br />
con.ConnectionString = &#8220;Data Source=localhost;user id=sa;password=VINAY;Initial Catalog=northwind&#8221;;<br />
SqlCommand cmd = new SqlCommand(&#8220;select * from Customers&#8221;,con);<br />
SqlDataAdapter da = new SqlDataAdapter(cmd);<br />
DataSet ds = new DataSet();<br />
da.Fill(ds);<br />
return ds;<br />
}</p>
<p>public DataSet GetDataOrder()<br />
{<br />
SqlConnection con = new SqlConnection();<br />
con.ConnectionString = &#8220;Data Source=localhost;user id=sa;password=VINAY;Initial Catalog=northwind&#8221;;<br />
SqlCommand cmd = new SqlCommand(&#8220;select * from Orders&#8221;, con);<br />
SqlDataAdapter da = new SqlDataAdapter(cmd);<br />
DataSet ds = new DataSet();<br />
da.Fill(ds);<br />
return ds;<br />
}</p>
<p>public DataSet ChildData(string strCustometId, string strSort)<br />
{<br />
SqlConnection con = new SqlConnection();<br />
con.ConnectionString = &#8220;Data Source=localhost;user id=sa;password=VINAY;Initial Catalog=northwind&#8221;;</p>
<p>string strQRY = &#8220;&#8221;;<br />
strQRY = &#8220;SELECT [Orders].[CustomerID],[Orders].[OrderID],&#8221; +<br />
&#8220;[Orders].[ShipAddress],[Orders].[Freight],[Orders].[ShipName] FROM [Orders]&#8221; +<br />
&#8221; WHERE [Orders].[CustomerID] = &#8216;&#8221; + strCustometId + &#8220;&#8216;&#8221; +<br />
&#8220;UNION ALL &#8221; +<br />
&#8220;SELECT &#8216;&#8221; + strCustometId + &#8220;&#8216;,&#8221;,&#8221;,&#8221;,&#8221; FROM [Orders] WHERE [Orders].[CustomerID] = &#8216;&#8221; + strCustometId + &#8220;&#8216;&#8221; +<br />
&#8220;HAVING COUNT(*)=0 &#8221; + strSort;</p>
<p>SqlCommand cmd = new SqlCommand(strQRY, con);<br />
SqlDataAdapter da = new SqlDataAdapter(cmd);<br />
DataSet ds = new DataSet();<br />
da.Fill(ds);<br />
return ds;</p>
<p>}</p>
<p>public void BindDataGV1(string sortExp, string sortDir)<br />
{<br />
DataView myDataView = new DataView();<br />
myDataView = GetDataCustomer().Tables[0].DefaultView;</p>
<p>if (sortExp != string.Empty)<br />
{<br />
myDataView.Sort = string.Format(&#8220;{0} {1}&#8221;, sortExp, sortDir);<br />
}</p>
<p>GridView1.DataSource = myDataView;<br />
GridView1.DataBind();</p>
<p>//GridView1.DataSource = GetDataCustomer();</p>
<p>//GridView1.DataBind();</p>
<p>}<br />
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)<br />
{<br />
GridView1.PageIndex = e.NewPageIndex;<br />
BindDataGV1(gvSortExpr1, sortOrder);<br />
}<br />
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)<br />
{<br />
BindDataGV1(e.SortExpression, sortOrder);<br />
}<br />
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)<br />
{<br />
GridView1.EditIndex = e.NewEditIndex;<br />
BindDataGV1(gvSortExpr1, sortOrder);<br />
}<br />
}</p>
<p>&nbsp;</p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/googleagent.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/googleagent.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/googleagent.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=googleagent.wordpress.com&amp;blog=11091569&amp;post=106&amp;subd=googleagent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://googleagent.wordpress.com/2010/10/09/nested-grid-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a9805b2629efc1b7b3a25411da2fed4e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">googleagent</media:title>
		</media:content>
	</item>
	</channel>
</rss>
