<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-645092693690783735</atom:id><lastBuildDate>Thu, 02 Feb 2012 15:57:08 +0000</lastBuildDate><category>VS 2008</category><category>Visual Studio</category><category>jQuery</category><category>Join</category><category>SQL Server 2008</category><category>Free SMS</category><category>tsql</category><category>Microsoft Microsoft Community Contributor Award</category><category>Updatepanel</category><category>SQL Server</category><category>Asp.net Ajax</category><category>VS Add-In</category><category>Web 2.0</category><category>Google</category><category>Utility</category><category>TreeView</category><category>Linux</category><category>Moonlight</category><category>Tools</category><category>Asp.net</category><category>Mono</category><category>Ubuntu</category><category>VS2005</category><category>JavaScript</category><category>Silverlight</category><category>.Net Framework</category><title>Nilesh Thakkar</title><description>A .net developer's blog</description><link>http://nilthakkar.blogspot.com/</link><managingEditor>noreply@blogger.com (Nilesh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/blogspot/NilThakkar" /><feedburner:info uri="blogspot/nilthakkar" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-4191339806652080982</guid><pubDate>Mon, 16 Jan 2012 17:09:00 +0000</pubDate><atom:updated>2012-01-16T23:04:58.299+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tsql</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Specify size for character data type</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently I was referring books online to confirm one strange behavior in SQL Server. It was like in one of the legacy application, string was passed to stored procedure as parameter and it was storing only 30 characters. To my surprise when I saw the code, everything seem to be ok. Later on found out the problem and fault was while converting parameter to varchar there was no size defined.&lt;br/&gt;
As per books online,
&lt;blockquote&gt;
When n is not specified in a data definition or variable declaration statement, the default length is 1. When n is not specified when using the CAST and CONVERT functions, the default length is 30. &lt;/blockquote&gt;
Check out the below script which will return only first character of parameter being passed instead of parameter value :
&lt;pre class="brush: sql;"&gt;CREATE PROCEDURE GetEmployeeName
    @Name varchar
AS
BEGIN
    SET NOCOUNT ON;
    SELECT @Name
END
GO&lt;/pre&gt;
Now if you define the parameter length, but using cast or convert function, it will return first 30 characters.
&lt;pre class="brush: sql;"&gt;ALTER PROCEDURE GetEmployeeName
    @Name varchar(40)
AS
BEGIN
    SET NOCOUNT ON;
    SELECT Convert(varchar,@Name) as Name
END
GO
--The longest one-word name of Hawaiian boy
exec GetEmployeeName Kananinoheaokuuhomeopuukaimanaalohilo&lt;/pre&gt;
Make sure length is defined for all stored procedure parameters and variables to avoid unexpected behavior.&lt;br/&gt;
Source : &lt;a href="http://msdn.microsoft.com/en-us/library/ms176089%28v=SQL.90%29.aspx" target="_blank"&gt;Books Online&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-4191339806652080982?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=O5jktN5oKjc:NvxTlSSTals:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=O5jktN5oKjc:NvxTlSSTals:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=O5jktN5oKjc:NvxTlSSTals:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=O5jktN5oKjc:NvxTlSSTals:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=O5jktN5oKjc:NvxTlSSTals:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=O5jktN5oKjc:NvxTlSSTals:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=O5jktN5oKjc:NvxTlSSTals:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/O5jktN5oKjc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/O5jktN5oKjc/specify-size-for-character-data-type.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>1</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2012/01/specify-size-for-character-data-type.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-6809416226895389976</guid><pubDate>Mon, 02 Jan 2012 17:04:00 +0000</pubDate><atom:updated>2012-01-02T22:34:17.376+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><category domain="http://www.blogger.com/atom/ns#">jQuery</category><title>How to display message box in Asp.net?</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Every new beginner from windows form development background uses MsgBox.Show method but unfortunately it executes server side and will display the message box on server. Then they ask it on different forums seeking help, how to display message box in Asp.net then? (one of the most frequent and common question on asp.net forum)&lt;br /&gt;
There are various ways to do it. &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Use JavaScript alert to display messagebox, confirm and prompt &lt;/li&gt;
&lt;li&gt;Download &lt;a href="http://alerts.codeplex.com/" target="_blank"&gt;alert&lt;/a&gt; control from codeplex and use it. &lt;/li&gt;
&lt;li&gt;Use Modal Popup or Confirm Button from &lt;a href="http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Default.aspx" target="_blank"&gt;Ajax Toolkit&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Use &lt;a href="http://jqueryui.com/demos/dialog/" target="_blank"&gt;Jquery UI Dialog&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
You can use any Jquery based dialog box. I’ve been using &lt;a href="http://abeautifulsite.net/blog/2008/12/jquery-alert-dialogs/" target="_blank"&gt;Jalert&lt;/a&gt; for quite a long time. It is easy to use and you can quickly customize as per the need. One of the best part of Jalert is that it allows you to perform certain activity by using Callback function. Before using Jalert, make sure you’ve referenced &lt;a href="http://jquery.com/" target="_blank"&gt;Jquery&lt;/a&gt; in your project.&lt;br /&gt;
&lt;br /&gt;
Note: Jalert is no longer actively maintained and they recommend to use Jquery UI Dialog.&lt;br /&gt;
&lt;br /&gt;
Now, how do you display it from server side?&lt;br /&gt;
&lt;br /&gt;
You can use following code in your class file under App_Code folder or You can include it in Base Class, being one of the useful feature as suggested by Scott Mitchell &lt;a href="http://dotnetslackers.com/articles/aspnet/Four-Helpful-Features-to-Add-to-Your-Base-Page-Class.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;public enum EnmMsgType
{
      ALERT,
      PROMPT,
      SUCCESS,
      ERROR,
      WARNING
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;/// &amp;lt;summary&amp;gt;
/// Displays Message box 
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="strMsg"&amp;gt;Message to be displayed&amp;lt;/param&amp;gt;
/// &amp;lt;param name="strTitle"&amp;gt;Title of the message&amp;lt;/param&amp;gt;
/// &amp;lt;param name="strMsgType"&amp;gt;Type of the message to be displayed&amp;lt;/param&amp;gt;
/// &amp;lt;param name="strCallBack"&amp;gt;Function to be executed after message has been displayed&amp;lt;/param&amp;gt;
public static void MsgBoxAlert(string strMsg, string strTitle, EnmMsgType strMsgType, string strCallBack)
{
    Page mypage = default(Page);
    string strScript = string.Empty;
   
    try
    {
        string cleanMessage = strMsg.Replace("'", "\\'");

        strScript = GetMessageBoxScript(strTitle, strCallBack, strMsgType, cleanMessage);

        //Gets currently executing page
        mypage = HttpContext.Current.CurrentHandler as Page;
        // Checks if the handler is a Page and that 
        //if the startup script is already registered.
        if (mypage != null &amp;amp;&amp;amp; !mypage.ClientScript.IsStartupScriptRegistered("alert"))
        {
            mypage.ClientScript.RegisterStartupScript(mypage.GetType(), "alert", strScript);
        }
    }
    catch (Exception ex)
    {
      //Your exception handling code here
    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-family: Trebuchet MS;"&gt;You can name function whatever you want. As shown in code strCallBack parameter accepts name of the function which will be called in case you want to perform certain action after Messagebox or Confirmation dialog has been displayed to user and user presses Ok button. If you don’t want to call any function, just pass an empty string to function in above code.&lt;/span&gt; 
&lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;private static string GetMessageBoxScript(string strTitle, string strCallBack, EnmMsgType MsgType, string cleanMessage)
{
    string strClass =  GetMessageboxClass(MsgType);
    StringBuilder sbMessageScript = new StringBuilder();
    sbMessageScript.Append("&amp;lt;script type='text/javascript'&amp;gt;");
    sbMessageScript.Append("$(document).ready(function(){");
    sbMessageScript.Append("jAlert('");
    sbMessageScript.Append(cleanMessage);
    sbMessageScript.Append("','");
    sbMessageScript.Append(strClass);
    sbMessageScript.Append("','");
    sbMessageScript.Append(strTitle);
    sbMessageScript.Append("'");
    if (strCallBack != string.Empty)
    {
        sbMessageScript.Append(",");
        sbMessageScript.Append(strCallBack);
    }
    sbMessageScript.Append(");});");
    sbMessageScript.Append("&amp;lt;/script&amp;gt;");

    return sbMessageScript.ToString();
}&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-family: Trebuchet MS;"&gt;Below function will return appropriate class based on Message Type being passed. You have to have those classes added in your CSS file. As per the class respective image will be displayed in message box, just like windows message box.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp;"&gt;/// &amp;lt;summary&amp;gt;
/// Gets the messagebox class.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="strMsgType"&amp;gt;Type of the Message&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
private static string GetMessageboxClass(EnmMsgType strMsgType)
{
    string strClass = String.Empty;

    if (strMsgType == EnmMsgType.ALERT)
    {
        strClass = "alert";
    }
    else if (strMsgType == EnmMsgType.SUCCESS)
    {
        strClass = "success";
    }
    else if (strMsgType == EnmMsgType.ERROR)
    {
        strClass = "error";
    }
    else if (strMsgType == EnmMsgType.WARNING)
    {
        strClass = "warning";
    }
    return strClass;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-family: Trebuchet MS;"&gt;Check out the below example :&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Trebuchet MS;"&gt;&lt;a href="http://lh3.ggpht.com/-4z4F3JoiLuE/TwBoQ3gXGwI/AAAAAAAAAPg/L1vABqLcUxc/s1600-h/jAlert%25255B7%25255D.jpg"&gt;&lt;img alt="jAlert" border="0" height="134" src="http://lh5.ggpht.com/-4yVpZfj50RE/TwBoR_Q5BsI/AAAAAAAAAPo/GnbrLKEMoOw/jAlert_thumb%25255B5%25255D.jpg?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="jAlert" width="449" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Trebuchet MS;"&gt;I hope it will be helpful to every beginner from Windows Form background. If you have any query/suggestion, please comment. :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-6809416226895389976?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=ZxEjHf3DrFg:NZqgKqN1wak:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=ZxEjHf3DrFg:NZqgKqN1wak:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=ZxEjHf3DrFg:NZqgKqN1wak:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=ZxEjHf3DrFg:NZqgKqN1wak:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=ZxEjHf3DrFg:NZqgKqN1wak:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=ZxEjHf3DrFg:NZqgKqN1wak:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=ZxEjHf3DrFg:NZqgKqN1wak:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/ZxEjHf3DrFg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/ZxEjHf3DrFg/how-to-display-message-box-in-aspnet.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-4yVpZfj50RE/TwBoR_Q5BsI/AAAAAAAAAPo/GnbrLKEMoOw/s72-c/jAlert_thumb%25255B5%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2012/01/how-to-display-message-box-in-aspnet.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-7751326141001090082</guid><pubDate>Tue, 27 Dec 2011 16:51:00 +0000</pubDate><atom:updated>2011-12-27T22:23:46.441+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">Utility</category><title>dotPeek, an alternative to .NET Reflector</title><description>&lt;p&gt;Those who have been using .NET &lt;a href="http://www.reflector.net/" target="_blank"&gt;Reflector&lt;/a&gt;, must be knowing that it’s not free anymore. Those who don’t know about Reflector, don’t have to bother much now. You could download dotPeek, an awesome decompiler, which is in the Early Access Program stage. It’s been developed by JetBrains, the maker of Resharper and more developer productivity tools.&amp;#160; &lt;/p&gt;  &lt;p&gt;You can check out what its latest build offer &lt;a href="http://blogs.jetbrains.com/dotnet/2011/12/dotpeek-is-back-with-new-early-build/" target="_blank"&gt;here&lt;/a&gt; and can download it from &lt;a href="http://confluence.jetbrains.net/display/NETPEEK/dotPeek+Early+Access+Program" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In this year, there are more posts related to add-ins and tools, but will have more programming problems and their solutions related posts in coming new year. :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-7751326141001090082?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=rHaq9flbjg8:QXbEyBkYlqQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=rHaq9flbjg8:QXbEyBkYlqQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=rHaq9flbjg8:QXbEyBkYlqQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=rHaq9flbjg8:QXbEyBkYlqQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=rHaq9flbjg8:QXbEyBkYlqQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=rHaq9flbjg8:QXbEyBkYlqQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=rHaq9flbjg8:QXbEyBkYlqQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/rHaq9flbjg8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/rHaq9flbjg8/dotpeek-alternative-to-net-reflector.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/12/dotpeek-alternative-to-net-reflector.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-8122538152643157922</guid><pubDate>Wed, 14 Dec 2011 17:44:00 +0000</pubDate><atom:updated>2011-12-14T23:15:30.666+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Server 2008</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>SQL Server Add-In : SSMS Tools Pack</title><description>&lt;p&gt;SSMS Tools Pack, I downloaded this free Add-in 3 weeks ago, and I am glad that I did that. Below are the few features that I’ve been using so far :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SQL Snippets &lt;/li&gt;    &lt;li&gt;Format SQL &lt;/li&gt;    &lt;li&gt;New Query Template &lt;/li&gt;    &lt;li&gt;CRUD Generation &lt;/li&gt;    &lt;li&gt;Regions and Debug sections &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can check out more useful features &lt;a href="http://www.ssmstoolspack.com/Features" target="_blank"&gt;here&lt;/a&gt; and you can download it &lt;a href="http://www.ssmstoolspack.com/Download" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This add-in makes life easier with its number of features that are missing from SSMS. &lt;/p&gt;  &lt;p&gt;Hope you like it and have fun!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-8122538152643157922?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=mRO0gI6DCig:E_NlrX1pyvQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=mRO0gI6DCig:E_NlrX1pyvQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=mRO0gI6DCig:E_NlrX1pyvQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=mRO0gI6DCig:E_NlrX1pyvQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=mRO0gI6DCig:E_NlrX1pyvQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=mRO0gI6DCig:E_NlrX1pyvQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=mRO0gI6DCig:E_NlrX1pyvQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/mRO0gI6DCig" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/mRO0gI6DCig/sql-server-add-in-ssms-tools-pack.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/12/sql-server-add-in-ssms-tools-pack.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-4206803505312377739</guid><pubDate>Sun, 31 Jul 2011 10:21:00 +0000</pubDate><atom:updated>2012-01-23T23:49:44.442+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Server 2008</category><category domain="http://www.blogger.com/atom/ns#">tsql</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Outer joins and search predicates – II</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div align="justify"&gt;
&lt;br /&gt;
In my &lt;a href="http://nilthakkar.blogspot.com/2011/07/outer-joins-and-search-predicates.html" target="_blank"&gt;last post&lt;/a&gt; we saw that if we place search predicate in WHERE clause instead of placing it along with ON clause, we may get expected output. Now let's understand what happens behind the scene. &lt;/div&gt;
&lt;pre class="brush: plain;"&gt;Note : we'll use pubs database for the example. &lt;/pre&gt;
&lt;br /&gt;
Suppose we want to list down all the book titles, then we might write following query. &lt;br /&gt;
&lt;pre class="brush: sql;"&gt;SELECT T.title_id as ID, T.Title 
FROM titles T 
ORDER BY T.Title &lt;/pre&gt;
&lt;br /&gt;
&lt;div align="justify"&gt;
Now we are asked to list down sales quantity for any given store for all the titles. If the given title is not sold, the quantity should be zero. For that we might write following query. &lt;/div&gt;
&lt;br /&gt;
&lt;pre class="brush: sql;"&gt;SELECT T.title_id, T.title, IsNull(S.qty,0) Qty 
FROM titles T 
LEFT JOIN sales S on T.title_id = S.title_id 
WHERE S.stor_id = '6380' 
ORDER BY T.title &lt;/pre&gt;
&lt;br /&gt;
&lt;div align="justify"&gt;
If you run above query, you'll get only two rows which were sold instead of remaining titles with zero quantity. Now if you see the execution plan, you could see that LEFT JOIN is converted to INNER JOIN by the execution engine. Check out below snap. &lt;/div&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-aWjGjQ6vt8Y/TjUsozW8HpI/AAAAAAAAAO8/pe1ugJmv3So/s1600-h/LEFT%252520JOIN%252520AND%252520PREDICATE%252520IN%252520WHERE%252520CLAUSE%25255B14%25255D.jpg"&gt;&lt;img alt="LEFT JOIN AND PREDICATE IN WHERE CLAUSE" border="0" height="454" src="http://lh4.ggpht.com/-_p_xteu3zb4/TjUsqN4idKI/AAAAAAAAAPA/pkUU8fLUo5E/LEFT%252520JOIN%252520AND%252520PREDICATE%252520IN%252520WHERE%252520CLAUSE_thumb%25255B12%25255D.jpg?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="LEFT JOIN AND PREDICATE IN WHERE CLAUSE" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;div align="justify"&gt;
Now if you need to get all the rows with quantity zero if title is not sold, just place your search predicate along with ON clause in LEFT JOIN and you'll get the expected output. So our expected query should be like below : &lt;/div&gt;
&lt;br /&gt;
&lt;pre class="brush: sql;"&gt;SELECT T.title_id, T.title, IsNull(S.qty,0) Qty 
FROM titles T 
LEFT JOIN sales S on T.title_id = S.title_id 
and S.stor_id = '6380' 
ORDER BY T.title &lt;/pre&gt;
&lt;br /&gt;
Always be careful when using search conditions with OUTER JOIN and construct your queries &lt;br /&gt;
&lt;br /&gt;
as per the output expected. Enjoy!! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-4206803505312377739?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=82eMsD0-JbE:rEOIBhb4PY8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=82eMsD0-JbE:rEOIBhb4PY8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=82eMsD0-JbE:rEOIBhb4PY8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=82eMsD0-JbE:rEOIBhb4PY8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=82eMsD0-JbE:rEOIBhb4PY8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=82eMsD0-JbE:rEOIBhb4PY8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=82eMsD0-JbE:rEOIBhb4PY8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/82eMsD0-JbE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/82eMsD0-JbE/outer-joins-and-search-predicates-ii.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-_p_xteu3zb4/TjUsqN4idKI/AAAAAAAAAPA/pkUU8fLUo5E/s72-c/LEFT%252520JOIN%252520AND%252520PREDICATE%252520IN%252520WHERE%252520CLAUSE_thumb%25255B12%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/07/outer-joins-and-search-predicates-ii.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-5902596853536131924</guid><pubDate>Sun, 10 Jul 2011 11:39:00 +0000</pubDate><atom:updated>2011-09-15T01:04:51.988+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tsql</category><category domain="http://www.blogger.com/atom/ns#">Join</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Outer joins and search predicates</title><description>&lt;p&gt;We often use outer joins to construct queries and get expected output, but what if you get unexpected out and the query seem ok. Few days back I experienced the same thing and found the problem with the placement of predicate (search condition).&lt;/p&gt;  &lt;p&gt;Let’s take an example :&lt;/p&gt;  &lt;p&gt;We’ll use Orders and Customers table from Northwind database.&lt;/p&gt;  &lt;p&gt;Let’s check out INNER JOIN and LEFT JOIN result without any condition first.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/-YfE4OtaLbxs/ThmQJ3plc-I/AAAAAAAAAOY/Nh3sI6SMotQ/s1600-h/Withoutcond%25255B7%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Withoutcond" border="0" alt="Withoutcond" src="http://lh6.ggpht.com/-9sppahqclCE/ThmQLto2a-I/AAAAAAAAAOc/s2fHCarEJR8/Withoutcond_thumb%25255B5%25255D.jpg?imgmax=800" width="653" height="499" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p align="justify"&gt;As you can see in the snap above both are returning same no of rows ( I’ve taken top(5) for the snap, as both the queries have more than 100 rows)&lt;/p&gt;  &lt;p align="justify"&gt;Now let’s check out INNER JOIN with predicate (search condition) in WHERE and ON clause.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-dAW6OYEhy6M/ThmQNSUGJmI/AAAAAAAAAOg/X-g6_ZsSeoA/s1600-h/Innercondition%25255B5%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Innercondition" border="0" alt="Innercondition" src="http://lh5.ggpht.com/-xjqvuLgyOIg/ThmQO89IGFI/AAAAAAAAAOo/HSySFowYiko/Innercondition_thumb%25255B3%25255D.jpg?imgmax=800" width="653" height="556" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Both the query returned the same result.&lt;/p&gt;  &lt;p&gt;Now let’s check out LEFT JOIN with WHERE clause.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/--IRD_y9_R4I/ThmQP3zb5aI/AAAAAAAAAOs/zOKQkD_Z6ps/s1600-h/Lefwhere%25255B3%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Lefwhere" border="0" alt="Lefwhere" src="http://lh3.ggpht.com/-e0RrKp64SGk/ThmQQ2YycqI/AAAAAAAAAOw/UYBevxufohw/Lefwhere_thumb%25255B1%25255D.jpg?imgmax=800" width="659" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;It has also returned the same no of rows, but if we use predicate (search condition) along with ON clause rather than WHERE clause, it will return more no of rows (unexpected output).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-vLK4LRLtU2E/ThmQS9czjEI/AAAAAAAAAO0/ftM3vg82wd4/s1600-h/Lefton%25255B3%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Lefton" border="0" alt="Lefton" src="http://lh4.ggpht.com/-Y6ZWP8XMmk0/ThmQUc0lFhI/AAAAAAAAAO4/-pSrDUI22i4/Lefton_thumb%25255B1%25255D.jpg?imgmax=800" width="659" height="479" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Explanation could be found out on SQL Server Books Online which says,&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;There can be predicates that involve only one of the joined tables in the ON clause. Such predicates also can be in the WHERE clause in the query. Although the placement of such predicates does not make a difference for INNER joins, they might cause a different result when OUTER joins are involved. This is because the predicates in the ON clause are applied to the table before the join, whereas the WHERE clause is semantically applied to the result of the join. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;An outer join query can produce completely different results depending on how you write it, and where predicates are placed in that query. Take Care!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-5902596853536131924?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=soljCzQ0cgo:Pw9Q8QkicP0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=soljCzQ0cgo:Pw9Q8QkicP0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=soljCzQ0cgo:Pw9Q8QkicP0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=soljCzQ0cgo:Pw9Q8QkicP0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=soljCzQ0cgo:Pw9Q8QkicP0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=soljCzQ0cgo:Pw9Q8QkicP0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=soljCzQ0cgo:Pw9Q8QkicP0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/soljCzQ0cgo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/soljCzQ0cgo/outer-joins-and-search-predicates.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-9sppahqclCE/ThmQLto2a-I/AAAAAAAAAOc/s2fHCarEJR8/s72-c/Withoutcond_thumb%25255B5%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/07/outer-joins-and-search-predicates.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-3814447332162934304</guid><pubDate>Wed, 01 Jun 2011 19:56:00 +0000</pubDate><atom:updated>2011-06-02T01:26:37.370+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft Microsoft Community Contributor Award</category><title>Microsoft Community Contributor Award 2011</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I am very happy to announce that I am one of many to receive this award. I consider this an honour to be recognized by Microsoft for my contribution to &lt;a href="http://forums.asp.net/"&gt;Asp.net Forums&lt;/a&gt; and look forward to continuing the same. Thanks Microsoft!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-3814447332162934304?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=LSHbZK106Qo:XQVLnmOR9Ms:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=LSHbZK106Qo:XQVLnmOR9Ms:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=LSHbZK106Qo:XQVLnmOR9Ms:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=LSHbZK106Qo:XQVLnmOR9Ms:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=LSHbZK106Qo:XQVLnmOR9Ms:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=LSHbZK106Qo:XQVLnmOR9Ms:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=LSHbZK106Qo:XQVLnmOR9Ms:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/LSHbZK106Qo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/LSHbZK106Qo/microsoft-community-contributor-award.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/06/microsoft-community-contributor-award.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-2139001011037442899</guid><pubDate>Thu, 05 May 2011 18:27:00 +0000</pubDate><atom:updated>2011-05-05T23:59:04.543+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">VS Add-In</category><title>VS 2010 and ASPX Edit Helper</title><description>&lt;p&gt;Some of my friend reported that they can’t use &lt;a href="http://ardentdev.com/aspxedithelper/" target="_blank"&gt;ASPX Edit Helper&lt;/a&gt; with VS 2010 and from the original post it is evident that it works great with VS 2005 and VS 2008.&lt;/p&gt;  &lt;p&gt;But one of the guy added support for VS 2010 using original souce code. You can download the latest source and binaries (with latest bug fixes) &lt;a href="http://www.rowlandoconnor.com/2010/04/16/aspx-edit-add-in-for-visual-studio-2010/" target="_blank"&gt;here&lt;/a&gt; and if you’d like to change something, of course you can as source code is available.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-2139001011037442899?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=WjaU7pyLHoc:YWmkvhRGopw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=WjaU7pyLHoc:YWmkvhRGopw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=WjaU7pyLHoc:YWmkvhRGopw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=WjaU7pyLHoc:YWmkvhRGopw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=WjaU7pyLHoc:YWmkvhRGopw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=WjaU7pyLHoc:YWmkvhRGopw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=WjaU7pyLHoc:YWmkvhRGopw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/WjaU7pyLHoc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/WjaU7pyLHoc/vs-2010-and-aspx-edit-helper.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/05/vs-2010-and-aspx-edit-helper.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-5900190176874440815</guid><pubDate>Sun, 10 Apr 2011 11:10:00 +0000</pubDate><atom:updated>2011-04-10T16:44:56.470+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS2005</category><category domain="http://www.blogger.com/atom/ns#">VS 2008</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">VS Add-In</category><title>Useful Visual Studio Add-Ins</title><description>&lt;p&gt;Recently one of the guy asked on Asp.net forum that is there any shortcut key to insert comments above method or function. There’s no exact shortcut but yes, you can insert comment above your method and function by typing 3 slash (///) in c# and 3 single quote in VB and still you’ve to type summary for your method or function to define what it does.&lt;/p&gt;  &lt;p&gt;But there exists add-in which help you to generate comments with summary on your defined shortcut. Just download &lt;a href="http://submain.com/products/ghostdoc.aspx" target="_blank"&gt;GhostDoc&lt;/a&gt;, install it and define your short cut. Now whenever you’re required to generate comments, fire your defined shortcut once you’re done with that method or function and it will insert comments with summary.&lt;/p&gt;  &lt;p&gt;Many of us generally type the ASPX markup ourselves instead of using VS designer. To make it easy here’s the add-in &lt;a href="http://ardentdev.com/aspxedithelper/" target="_blank"&gt;ASPX Edit Helper&lt;/a&gt; Though it was designed for VS 2005 but it works with VS 2008 without any problem. You just need to place binaries in AddIns folder. If folder is not there then create it. Next step would be to select it from&lt;/p&gt;  &lt;p&gt;Tools –&amp;gt; Add-In Manager –&amp;gt; ASPX Edit Helper&lt;/p&gt;  &lt;p&gt;and you’re ready to go. There are more useful Add-Ins which can make your life more easy and can save you some time. Please check out below link :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc300778.aspx#S4" target="_blank"&gt;Visual Studio Add-Ins Every Developer Should Download Now&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-5900190176874440815?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=CVDE83UDSgI:NfRyu7H5gxk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=CVDE83UDSgI:NfRyu7H5gxk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=CVDE83UDSgI:NfRyu7H5gxk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=CVDE83UDSgI:NfRyu7H5gxk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=CVDE83UDSgI:NfRyu7H5gxk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=CVDE83UDSgI:NfRyu7H5gxk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=CVDE83UDSgI:NfRyu7H5gxk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/CVDE83UDSgI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/CVDE83UDSgI/useful-visual-studio-add-ins.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2011/04/useful-visual-studio-add-ins.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-4647754656571623454</guid><pubDate>Mon, 09 Aug 2010 16:31:00 +0000</pubDate><atom:updated>2011-09-15T01:08:35.212+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">Utility</category><title>Mouse Extender : A cozy utility</title><description>&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;If you don’t like your desktop covered with so many icons and still want to open your favourite program with ease then Mouse Extender (ME) is the best option for you. I’ve been using it for quite a long time at my home as well as office. You can download it from &lt;/span&gt;&lt;a href="http://me.codeplex.com/" target="_blank"&gt;&lt;span style="font-family: Verdana;"&gt;CodePlex&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;ME is based on WPF and requires .Net Framework 3.5 sp1 to be installed. If you’ve .Net framework installed then it’s good but if not then you can check minimum installation you need &lt;/span&gt;&lt;a href="http://www.hanselman.com/smallestdotnet/" target="_blank"&gt;&lt;span style="font-family: Verdana;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;You can configure it as per your need and if you want to know what features it provides then just go through this &lt;/span&gt;&lt;a href="http://mouseextender.net/features/" target="_blank"&gt;&lt;span style="font-family: Verdana;"&gt;link&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;Happy Programming :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-4647754656571623454?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=wzPClI1UAl8:Y0n8KrFiNMg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=wzPClI1UAl8:Y0n8KrFiNMg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=wzPClI1UAl8:Y0n8KrFiNMg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=wzPClI1UAl8:Y0n8KrFiNMg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=wzPClI1UAl8:Y0n8KrFiNMg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=wzPClI1UAl8:Y0n8KrFiNMg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=wzPClI1UAl8:Y0n8KrFiNMg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/wzPClI1UAl8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/wzPClI1UAl8/mouse-extender-cozy-utility.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2010/08/mouse-extender-cozy-utility.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-8813866384095126459</guid><pubDate>Tue, 30 Mar 2010 17:47:00 +0000</pubDate><atom:updated>2011-09-15T01:05:04.252+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tsql</category><category domain="http://www.blogger.com/atom/ns#">Join</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Update with join and unexpected output</title><description>&lt;div align="justify"&gt;
&lt;span style="font-family: Verdana;"&gt;Recently my one of the colleague was writing trigger and in that he’s having Update Query with join, syntax and everything was right but he’s not getting the expected output.&amp;nbsp; To understand the situation let’s take an example.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div align="justify"&gt;
&lt;span style="font-family: Verdana;"&gt;Create two temporary tables&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;pre class="brush: sql;"&gt;CREATE TABLE #tmpTable1
( gid smallint,
  gBal smallint
)
CREATE TABLE #tmpTable2
( tid smallint,
  tBal smallint
)&lt;/pre&gt;
&lt;span style="font-family: Verdana;"&gt; and Inset following values in both the tables.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;&amp;nbsp;&lt;/span&gt;
&lt;br /&gt;
&lt;pre class="brush: sql;"&gt;insert into #tmpTable1(gid,gBal) values(1, 200), (2,300)
insert into #tmpTable2(tid,tBal) values(1, 300), (2,400),(1, 600), (2,700)&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;Now both the table contain inserted values:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_2cveClWhO_o/S7I1PAYCAhI/AAAAAAAAAMg/oGdxA4gcdJc/s1600-h/untitled%5B4%5D.jpg"&gt;&lt;img alt="SQL Insert Query Output" border="0" height="234" src="http://lh4.ggpht.com/_2cveClWhO_o/S7I1P5ymBJI/AAAAAAAAAMk/BeJIhl2Tsn4/untitled_thumb%5B2%5D.jpg?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="SQL Insert Query Output" width="189" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;The update query with join that was not giving expected output :&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: sql;"&gt;update #tmpTable1 set gBal = gBal +  tbal
from #tmpTable1 inner join #tmpTable2 
on gid=tid&amp;nbsp;&lt;/pre&gt;
&lt;pre class="brush: sql;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;span style="font-family: Verdana;"&gt;As you can see nothing is wrong with the query, but it is updating it with the first two values of #tmpTable2 and hence the output will be as shown below but output should be 1100 for record no 1 and 1400 for record no 2.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_2cveClWhO_o/S7I1Q5R8bXI/AAAAAAAAAMo/m2upuhW2fNI/s1600-h/Output%5B2%5D.jpg"&gt;&lt;img alt="Output" border="0" height="225" src="http://lh3.ggpht.com/_2cveClWhO_o/S7I1Ri_OAZI/AAAAAAAAAMs/VFLKyyYTj_w/Output_thumb.jpg?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Output" width="157" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana;"&gt;As per the MSDN Documentation: &lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;single UPDATE statement never updates the same row twice.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align="justify"&gt;
&lt;span style="font-family: Verdana;"&gt;Let’s say that you have more than one sale&amp;nbsp; for a given item and you update as shown above, It does not work correctly. It executes without error, but each item is updated with only one sale, regardless of how many sales actually occurred on that day. In the situation in which more than one sale for a given title can occur on the same day, all the sales for each title must be aggregated together within the UPDATE statement, as shown in following query:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;pre class="brush: sql;"&gt;Update #tmpTable1
SET gBal = gbal +
(SELECT SUM(tbal)
FROM #tmpTable2 AS tmp
WHERE tmp.tid = gid)&lt;/pre&gt;
&lt;pre class="brush: sql;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;span style="font-family: Verdana;"&gt;This will give us the expected output that is&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_2cveClWhO_o/S7I1SIkppcI/AAAAAAAAAMw/eBDdMcmo-gs/s1600-h/Output%20With%20Update%20Query%20and%20Join%5B2%5D.jpg"&gt;&lt;img alt="Output With Update Query and Join" border="0" height="89" src="http://lh5.ggpht.com/_2cveClWhO_o/S7I1S42PZnI/AAAAAAAAAM0/zK3NMRKawws/Output%20With%20Update%20Query%20and%20Join_thumb.jpg?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Output With Update Query and Join" width="160" /&gt;&lt;/a&gt; 
&lt;span style="font-family: Verdana;"&gt;That’s it!!&amp;nbsp; Enjoy ;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-8813866384095126459?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=U3YkvJIXyQI:2mLOEG5eV1E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=U3YkvJIXyQI:2mLOEG5eV1E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=U3YkvJIXyQI:2mLOEG5eV1E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=U3YkvJIXyQI:2mLOEG5eV1E:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=U3YkvJIXyQI:2mLOEG5eV1E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=U3YkvJIXyQI:2mLOEG5eV1E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=U3YkvJIXyQI:2mLOEG5eV1E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/U3YkvJIXyQI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/U3YkvJIXyQI/update-with-join-and-unexpected-output.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_2cveClWhO_o/S7I1P5ymBJI/AAAAAAAAAMk/BeJIhl2Tsn4/s72-c/untitled_thumb%5B2%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2010/03/update-with-join-and-unexpected-output.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-5558497515970369344</guid><pubDate>Thu, 19 Nov 2009 17:27:00 +0000</pubDate><atom:updated>2011-09-15T01:10:55.476+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Server 2008</category><category domain="http://www.blogger.com/atom/ns#">tsql</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>SQL Server 2008 : Table Valued Parameter and Merge</title><description>&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;Recently I was working on one project and I was supposed to Insert/Update bunch of records in database. I wanted to do it in a single round trip. I Google about it and found out two excellent features of SQL  Server 2008: Table Valued Parameter and Merge Statement.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;Table Valued Parameter allows you to send bunch of records to database in single round trip. To know how it can be done, please refer this &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/02/sql-server-2008-table-valued-parameters.aspx" target="_blank"&gt;link&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;Merge Statement is another good thing that you’ll fall in love with. It provides an efficient way to perform multiple DML operation.  To know how it can be useful, please check out this &lt;a href="http://technet.microsoft.com/en-us/library/bb510625.aspx" target="_blank"&gt;link&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;Also check out one example of Merge &lt;a href="http://blog.sqlauthority.com/2008/08/28/sql-server-2008-introduction-to-merge-statement-one-statement-for-insert-update-delete/" target="_blank"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;I wanted to use Table Valued Parameters with Merge Command and I did it this way:&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: verdana;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;pre class="brush:sql"&gt;Create Procedure vi_GroupRightsAccess_AddUpdate
--below is the Table valued Parameter of type tv_GroupRight
--user defined table valued type created in db, and it should be read only&lt;/pre&gt;&lt;pre class="brush:sql"&gt;@tvpGrpRightAccess tv_GroupRight Readonly
As
Begin
--vi_GroupRightAccess is the table in my database
MERGE vi_GroupRightsAccess_Detail AS TargetTable
--Whatever columns you define in Using clause will be available in join
USING (SELECT GroupID,ModuleID,AccessID FROM @tvpGrpRightAccess) AS TvpSource
ON TargetTable.dtgroGroupId= TvpSource.GroupId and TargetTable.dtgroModuleId=TvpSource.ModuleId
--Perform intended operation if record matches
WHEN MATCHED THEN UPDATE SET TargetTable.dtgroAccessId = TvpSource.AccessID
--do what you want if it doesn’t match
WHEN NOT MATCHED THEN
INSERT(dtgroGroupId,dtgroModuleID,dtgroAccessID)
VALUES(TvpSource.Groupid,TvpSource.ModuleId,TvpSource.AccessID);
&lt;/pre&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: verdana;"&gt;I hope this will be helpful.&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: verdana;"&gt;&lt;span style="font-size: 100%;"&gt;Enjoy.. ;)&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-5558497515970369344?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=4GTbe1Ks5zg:hDU7UzvEih0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=4GTbe1Ks5zg:hDU7UzvEih0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=4GTbe1Ks5zg:hDU7UzvEih0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=4GTbe1Ks5zg:hDU7UzvEih0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=4GTbe1Ks5zg:hDU7UzvEih0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=4GTbe1Ks5zg:hDU7UzvEih0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=4GTbe1Ks5zg:hDU7UzvEih0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/4GTbe1Ks5zg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/4GTbe1Ks5zg/sql-server-2008-table-valued-parameter.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>2</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/11/sql-server-2008-table-valued-parameter.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-1612101700624027076</guid><pubDate>Fri, 02 Oct 2009 17:25:00 +0000</pubDate><atom:updated>2011-09-15T01:07:10.188+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Show Modal Dialog with Asp.net webpage</title><description>&lt;blockquote&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;For last few days one question is arising on asp.net forums and that is how to display Modal Dialog with Asp.net webpage. It can be done using JavaScript ShowModalDialog method.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:ver;font-size:85%;"&gt;Syntax :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre class="brush:js"&gt;returnVal = window.showModalDialog(uri[, arguments][, options]);&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;Where,&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;uri is the uri of the document to be displayed in the dialog box. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;code&gt;arguments&lt;/code&gt; is an optional variant that contains values that should be passed to the dialog box; these are made available in the &lt;code&gt;&lt;a href="https://developer.mozilla.org/en/DOM/window"&gt;window&lt;/a&gt;&lt;/code&gt; object's &lt;code&gt;&lt;a href="https://developer.mozilla.org/en/DOM/window.dialogArguments"&gt;window.dialogArguments&lt;/a&gt;&lt;/code&gt; property &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;options an optional string that specifies different attributes seperated by semicolon that will display modal dialog accordingly. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;This method is introduced by Microsoft Interent Explorer4 and support added to Firefox 3. Firefox 3 doesn’t support &lt;code&gt;dialogHide&lt;/code&gt;, &lt;code&gt;edge&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, or &lt;code&gt;unadorned&lt;/code&gt; arguments.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Here’s the code that is reusable. You can have following code in your class file as well and it works like a charm, once you add the namespace under which it is declared ;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;VB&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;pre class="brush:vb"&gt;&lt;br /&gt;Public Shared Sub OpenWindow(ByVal currentPage As Page, ByVal poppage As String, ByVal width As Int32, ByVal height As Int32) &lt;br /&gt;Dim sb As New System.Text.StringBuilder()  &lt;br /&gt;sb.Append("var features;") &lt;br /&gt;sb.Append("features='dialogwidth:" &amp;amp; width &amp;amp; "px;dialogheight:" &amp;amp; height &amp;amp; "px;toolbar:0;scrollbars:0;location:0;statusbar:0;menubar:0;resizable:0';") &lt;br /&gt;sb.Append("popWin=window.showModalDialog('") &lt;br /&gt;sb.Append(poppage) &lt;br /&gt;sb.Append("','") &lt;br /&gt;sb.Append("',") &lt;br /&gt;sb.Append("features") &lt;br /&gt;sb.Append(");") &lt;br /&gt;'this will reload the parent page once modal dialog is closed&lt;br /&gt;sb.Append("__doPostBack('ReturnFromDialogPostBack',popWin);") &lt;br /&gt;ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), "OpenWindow", sb.ToString(), True) &lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;strong&gt;&lt;span style="font-family:ver;"&gt;C#&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="brush:csharp"&gt;public static void OpenWindow(Page currentPage, string poppage, Int32 width, Int32 height)&lt;br /&gt;{ &lt;br /&gt;System.Text.StringBuilder sb = new System.Text.StringBuilder();   &lt;br /&gt;sb.Append("var features;");   &lt;br /&gt;sb.Append("features='dialogwidth:" + width + "px;dialogheight:" + height + "px;toolbar:0;scrollbars:0;location:0;statusbar:0;menubar:0;resizable:0';");&lt;br /&gt;sb.Append("popWin=window.showModalDialog('");&lt;br /&gt;sb.Append(poppage);&lt;br /&gt;sb.Append("','");&lt;br /&gt;sb.Append("',");&lt;br /&gt;sb.Append("features");&lt;br /&gt;sb.Append(");");&lt;br /&gt;sb.Append("__doPostBack('ReturnFromDialogPostBack',popWin);");&lt;br /&gt;ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), "OpenWindow", sb.ToString(), true);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;Add following tag in head tag of your modal dialog page (Popup page)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre class="brush:text"&gt;&amp;lt;base target="_self" /&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;       It will prevent popup page to open new window.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Add below line of code if you want to perform some server side processing or add it in JavaScript function.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre class="brush:vb"&gt;Response.Write("&amp;lt;script language='JavaScript' type='text/JavaScript'&amp;gt;window.close();&amp;lt;/script&amp;gt;")&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span style="font-family:Verdana;"&gt;I hope this helps!! &lt;img alt="Happy" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif" /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-1612101700624027076?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=auNXPCub8Wg:Ha5xNVhgcM8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=auNXPCub8Wg:Ha5xNVhgcM8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=auNXPCub8Wg:Ha5xNVhgcM8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=auNXPCub8Wg:Ha5xNVhgcM8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=auNXPCub8Wg:Ha5xNVhgcM8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=auNXPCub8Wg:Ha5xNVhgcM8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=auNXPCub8Wg:Ha5xNVhgcM8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/auNXPCub8Wg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/auNXPCub8Wg/show-modal-dialog-with-aspnet-webpage.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>4</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/10/show-modal-dialog-with-aspnet-webpage.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-4530959199371436031</guid><pubDate>Tue, 14 Jul 2009 09:56:00 +0000</pubDate><atom:updated>2011-09-15T01:11:52.465+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS2005</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Generate Nested Gridview Dynamically</title><description>&lt;p align="justify"&gt;As i said in my last post, I’ll write about how to generate Nested Gridview dynamically. As there are many articles available on the net, let me provide you the link to the article that i referred.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://progtalk.com/ViewArticle.aspx?ArticleID=54" target="_blank"&gt;Gridview Control to show master-child or master-slave data&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;It provides detail explanation with snapshot. There is one disadvantage that Gridview control is available only on client side. It means if you want to perform some action on server side like you want to get child controls Gridview then it’s not possible.&lt;/p&gt;  &lt;p&gt;I hope this helps!!&lt;/p&gt;  &lt;p&gt;Enjoy!! :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-4530959199371436031?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=NQTxFzobK7I:HG-5rrTm5oI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=NQTxFzobK7I:HG-5rrTm5oI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=NQTxFzobK7I:HG-5rrTm5oI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=NQTxFzobK7I:HG-5rrTm5oI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=NQTxFzobK7I:HG-5rrTm5oI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=NQTxFzobK7I:HG-5rrTm5oI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=NQTxFzobK7I:HG-5rrTm5oI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/NQTxFzobK7I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/NQTxFzobK7I/generate-nested-gridview-dynamically.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/07/generate-nested-gridview-dynamically.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-7048165392270795767</guid><pubDate>Mon, 18 May 2009 18:23:00 +0000</pubDate><atom:updated>2011-07-31T20:12:29.653+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">VS2005</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Nested Gridview in Asp.net 2.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div align="justify"&gt;
As i said in my last post that i will write about Check/ Uncheck checkboxes of Treeview on the basis of database value and i think it’s very easy so skipping  that part and here i am going to write about Nested Gridview that will look like below image:&lt;/div&gt;
&lt;a href="http://lh4.ggpht.com/_2cveClWhO_o/ShGfK95zUtI/AAAAAAAAALI/Z_8sqHJPNjA/s1600-h/NestedGridview8.jpg"&gt;&lt;img alt="Nested Gridview" border="0" height="441" src="http://lh4.ggpht.com/_2cveClWhO_o/ShGfMzG7BjI/AAAAAAAAALM/Tfr2cX7bIIU/NestedGridview_thumb6.jpg?imgmax=800" style="border-width: 0px; display: inline;" title="Nested Gridview" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;div align="justify"&gt;
Rather than displaying Nested Gridview in the same row, we’ll display it in below row that gives user proper understanding of the data. Let’s see,  How it can be done?&lt;/div&gt;
&lt;div align="justify"&gt;
First of all i am using Northwind Database that comes with SQL Server and if you are not having it, you can download it.&lt;/div&gt;
&lt;div align="justify"&gt;
Here’s the HTML Source Code for Parent GridView, change it according the language C# or VB and your requirement:&lt;/div&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;GridView&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"gvOrders"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;=&lt;span style="color: blue;"&gt;"server"&lt;/span&gt; &lt;span style="color: red;"&gt;AutoGenerateColumns&lt;/span&gt;=&lt;span style="color: blue;"&gt;"False"&lt;/span&gt; &lt;span style="color: red;"&gt;DataSourceID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SqlDataSource1"&lt;/span&gt; &lt;span style="color: red;"&gt;DataKeyNames&lt;/span&gt;=&lt;span style="color: blue;"&gt;"OrderID"&lt;/span&gt; &lt;span style="color: red;"&gt;CellPadding&lt;/span&gt;=&lt;span style="color: blue;"&gt;"4"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Columns&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;TemplateField&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4:      &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5:        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;Label&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"lblSign"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;=&lt;span style="color: blue;"&gt;"server"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6:      &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7:     &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;TemplateField&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  8:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"OrderID"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"OrderID"&lt;/span&gt; &lt;span style="color: red;"&gt;InsertVisible&lt;/span&gt;=&lt;span style="color: blue;"&gt;"False"&lt;/span&gt; &lt;span style="color: red;"&gt;ReadOnly&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"OrderID"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  9:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CustomerID"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CustomerID"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CustomerID"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 10:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"EmployeeID"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"EmployeeID"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"EmployeeID"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 11:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Name"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Name"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Name"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 12:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Address"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Address"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Address"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 13:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"City"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"City"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"City"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 14:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Region"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Region"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Region"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 15:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Postal"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Postal"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Postal"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 16:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Country"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Country"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Country"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 17:     &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;TemplateField&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 18:      &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 19:       &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 20:        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;td&lt;/span&gt; &lt;span style="color: red;"&gt;colspan&lt;/span&gt;=&lt;span style="color: blue;"&gt;"100%"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 21:         &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;=&lt;span style="color: blue;"&gt;"div&amp;lt;%#Eval("&lt;/span&gt;&lt;span style="color: red;"&gt;OrderID&lt;/span&gt;") %&amp;gt;" &lt;span style="color: red;"&gt;style&lt;/span&gt;=&lt;span style="color: blue;"&gt;"display: none; position: relative;"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 22:         &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 23:        &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: #fef9bc; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 24:       &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 25:      &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 26:     &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;TemplateField&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 27:   &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Columns&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 28:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#F7F6F3"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 29:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;FooterStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#5D7B9D"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 30:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;PagerStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#284775"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: red;"&gt;HorizontalAlign&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Center"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 31:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;SelectedRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#E2DED6"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 32:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;HeaderStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#5D7B9D"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 33:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;EditRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#999999"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 34:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;AlternatingRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#284775"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 35: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;GridView&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
In above code we’ve inserted &amp;lt;tr&amp;gt; and &amp;lt;td&amp;gt; and &amp;lt;div&amp;gt; tag that is highlighted by Yellow background colour. &lt;b&gt;Gridview is rendered as HTML table and GridView rows will be rendered as &amp;lt;tr&amp;gt; and cells will be as &amp;lt;td&amp;gt;&lt;/b&gt; so that we are explicitly inserting those tags to show our child Gridview exactly below to the corresponding Gridview Row rather than in last column of Parent Gridview.&lt;br /&gt;
&lt;br /&gt;
&lt;style type="text/css"&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;br /&gt;
SQL DataSource Code for Parent GridView :&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;SqlDataSource&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SqlDataSource1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;=&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2: &lt;span style="color: red;"&gt;SelectCommand&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SELECT TOP (10) OrderID, CustomerID, EmployeeID, ShipName as Name,&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3: ShipAddress as Address, ShipCity as City, ShipRegion as Region, ShipPostalCode as Postal,&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4: ShipCountry as Country FROM Orders"&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5: &lt;span style="color: red;"&gt;ConnectionString&lt;/span&gt;=&lt;span style="color: blue;"&gt;"&amp;lt;%$ ConnectionStrings:NorthwindConnectionString %&amp;gt;"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;SqlDataSource&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
Child GridView Code :&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;GridView&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"gvDetails"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;=&lt;span style="color: blue;"&gt;"server"&lt;/span&gt; &lt;span style="color: red;"&gt;CellPadding&lt;/span&gt;=&lt;span style="color: blue;"&gt;"4"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt; &lt;span style="color: red;"&gt;GridLines&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Both"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2:                                             &lt;span style="color: red;"&gt;DataSourceID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SqlDataSource2"&lt;/span&gt; &lt;span style="color: red;"&gt;Style&lt;/span&gt;=&lt;span style="color: blue;"&gt;"position: relative"&lt;/span&gt; &lt;span style="color: red;"&gt;AutoGenerateColumns&lt;/span&gt;=&lt;span style="color: blue;"&gt;"False"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#F7F6F3"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;FooterStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#5D7B9D"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;PagerStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#284775"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: red;"&gt;HorizontalAlign&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Center"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;SelectedRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#E2DED6"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#333333"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;HeaderStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#5D7B9D"&lt;/span&gt; &lt;span style="color: red;"&gt;Font&lt;/span&gt;-&lt;span style="color: red;"&gt;Bold&lt;/span&gt;=&lt;span style="color: blue;"&gt;"True"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  8: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;EditRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#999999"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  9: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;AlternatingRowStyle&lt;/span&gt; &lt;span style="color: red;"&gt;BackColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"White"&lt;/span&gt; &lt;span style="color: red;"&gt;ForeColor&lt;/span&gt;=&lt;span style="color: blue;"&gt;"#284775"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 10: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Columns&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 11:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"FirstName"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"FirstName"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"FirstName"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 12:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"LastName"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"LastName"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"LastName"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 13:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"UnitPrice"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"UnitPrice"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"UnitPrice"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 14:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Quantity"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Quantity"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Quantity"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 15:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Discount"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Discount"&lt;/span&gt; &lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Discount"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 16:  &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;BoundField&lt;/span&gt; &lt;span style="color: red;"&gt;DataField&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CompanyName"&lt;/span&gt; &lt;span style="color: red;"&gt;HeaderText&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CompanyName"  &lt;/span&gt;&lt;span style="color: red;"&gt;SortExpression&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CompanyName"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 17: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Columns&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 18: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;GridView&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
SQL DataSource  Code for Child GridView&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;SqlDataSource&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SqlDataSource2"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;=&lt;span style="color: blue;"&gt;"server"&lt;/span&gt; &lt;span style="color: red;"&gt;ConnectionString&lt;/span&gt;=&lt;span style="color: blue;"&gt;"&amp;lt;%$ ConnectionStrings:NorthwindConnectionString %&amp;gt;"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2: &lt;span style="color: red;"&gt;SelectCommand&lt;/span&gt;=&lt;span style="color: blue;"&gt;"SELECT C.CompanyName, OD.UnitPrice, OD.Quantity, OD.Discount, E.FirstName, E.LastName, OD.OrderID, C.CustomerID, E.EmployeeID FROM  dbo.[Order Details] AS OD INNER JOIN&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3: dbo.Orders AS O ON OD.OrderID = O.OrderID INNER JOIN&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4: dbo.Customers AS C ON O.CustomerID = C.CustomerID INNER JOIN&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5: dbo.Employees AS E ON O.EmployeeID = E.EmployeeID AND O.OrderID LIKE @OrderId AND C.CustomerID = @CustomerID AND&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6: E.EmployeeID = @EmployeeId"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7: &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;SelectParameters&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  8:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;Parameter&lt;/span&gt; &lt;span style="color: red;"&gt;Name&lt;/span&gt;=&lt;span style="color: blue;"&gt;"OrderId"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  9:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;Parameter&lt;/span&gt; &lt;span style="color: red;"&gt;Name&lt;/span&gt;=&lt;span style="color: blue;"&gt;"CustomerId"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 10:   &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;Parameter&lt;/span&gt; &lt;span style="color: red;"&gt;Name&lt;/span&gt;=&lt;span style="color: blue;"&gt;"EmployeeId"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 11: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;SelectParameters&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 12: &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: mediumvioletred;"&gt;asp&lt;/span&gt;:&lt;span style="color: maroon;"&gt;SqlDataSource&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
We’ll supply OrderId, CustomerID, EmployeeID to SQL DataSource of  ChildGridView in RowDataBound of Parent GridView.&lt;br /&gt;
&lt;b&gt;Parent GridView Event Handlers&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;C#&lt;/b&gt;&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;protected&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; gvOrders_RowCreated(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, GridViewRowEventArgs e)&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2: {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3:    &lt;span style="color: blue;"&gt;if&lt;/span&gt; (e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4:    {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5:       e.Row.Cells[1].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  6:       e.Row.Cells[2].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7:       e.Row.Cells[3].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  8:    }&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  9: }&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;VB&lt;/b&gt;&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;Protected&lt;/span&gt; &lt;span style="color: blue;"&gt;Sub&lt;/span&gt; gvOrders_RowCreated(&lt;span style="color: blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;Object&lt;/span&gt;, &lt;span style="color: blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color: blue;"&gt;As&lt;/span&gt; System.Web.UI.WebControls.GridViewRowEventArgs) &lt;span style="color: blue;"&gt;Handles&lt;/span&gt; gvOrders.RowCreated&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  2:   &lt;span style="color: blue;"&gt;If&lt;/span&gt; e.Row.RowType = DataControlRowType.Header &lt;span style="color: blue;"&gt;Or&lt;/span&gt; e.Row.RowType = DataControlRowType.DataRow &lt;span style="color: blue;"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3:      e.Row.Cells(1).Visible = &lt;span style="color: blue;"&gt;False&lt;/span&gt;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  4:      e.Row.Cells(2).Visible = &lt;span style="color: blue;"&gt;False&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5:      e.Row.Cells(3).Visible = &lt;span style="color: blue;"&gt;False&lt;/span&gt;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  6:   &lt;span style="color: blue;"&gt;End&lt;/span&gt; &lt;span style="color: blue;"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7: &lt;span style="color: blue;"&gt;End&lt;/span&gt; &lt;span style="color: blue;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;b&gt;C#&lt;/b&gt;&lt;br /&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1: &lt;span style="color: blue;"&gt;protected&lt;/span&gt; void gvOrders_RowDataBound(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, GridViewRowEventArgs e)&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  2: {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3:   &lt;span style="color: blue;"&gt;if&lt;/span&gt; (e.Row.RowType == DataControlRowType.Header)&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: whitesmoke; margin: 0em; width: 100%;"&gt;  4:   {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5:     e.Row.Cells[1].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6:     e.Row.Cells[2].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7:     e.Row.Cells[3].Visible = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  8:   }&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt;  9:   &lt;span style="color: blue;"&gt;if&lt;/span&gt; (e.Row.RowType == DataControlRowType.DataRow)&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 10:   {        &lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt; 11:     SqlDataSource s = (SqlDataSource)e.Row.FindControl("&lt;span style="color: darkred;"&gt;SqlDataSource2&lt;/span&gt;");&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 12:     s.SelectParameters[0].DefaultValue= e.Row.Cells[1].Text;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt; 13:     s.SelectParameters[1].DefaultValue = e.Row.Cells[2].Text;&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 14:     s.SelectParameters[2].DefaultValue = e.Row.Cells[3].Text;&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt; 15:&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 16:     ((Label)e.Row.FindControl("&lt;span style="color: darkred;"&gt;lblSign&lt;/span&gt;")).Text = "&lt;span style="color: darkred;"&gt;+&lt;/span&gt;";&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt; 17:     ((Label)e.Row.FindControl("&lt;span style="color: darkred;"&gt;lblSign&lt;/span&gt;")).Attributes["&lt;span style="color: darkred;"&gt;onclick&lt;/span&gt;"] = "&lt;span style="color: darkred;"&gt;HideShowDiv('div&lt;/span&gt;" + e.Row.Cells[1].Text + "&lt;span style="color: darkred;"&gt;', '&lt;/span&gt;" + ((Label)e.Row.FindControl("&lt;span style="color: darkred;"&gt;lblSign&lt;/span&gt;")) .ClientID + "&lt;span style="color: darkred;"&gt;');&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 18:     e.Row.Cells[0].Attributes["&lt;span style="color: darkred;"&gt;onmouseover&lt;/span&gt;"] = "&lt;span style="color: darkred;"&gt;this.style.cursor='pointer'&lt;/span&gt;";&lt;/pre&gt;
&lt;pre face="consolas,'Courier New',courier,monospace" size="11px" style="background-color: white; margin: 0em; width: 100%;"&gt; 19:     e.Row.Cells[0].Attributes["&lt;span style="color: darkred;"&gt;onmouseout&lt;/span&gt;"] = "&lt;span style="color: darkred;"&gt;this.style.cursor='pointer'&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 20:         &lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 21:   }&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 22: }&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;JavaScript&lt;/b&gt;&lt;br /&gt;
&lt;div class="csharpcode"&gt;
&lt;pre style="background-color: white; border: 1px solid rgb(192, 192, 192); min-height: 40px; overflow: auto; padding: 5px; width: 650px;"&gt;&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  1:  &lt;span style="color: blue;"&gt;function&lt;/span&gt; HideShowDiv(DivId,LblSign)&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  2:  {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  3:       &lt;span style="color: blue;"&gt;var&lt;/span&gt; mydiv= &lt;span style="color: blue;"&gt;document&lt;/span&gt;.getElementById(DivId);&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  4:       &lt;span style="color: blue;"&gt;var&lt;/span&gt; LblSign=&lt;span style="color: blue;"&gt;document&lt;/span&gt;.getElementById(LblSign);&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  5:       &lt;span style="color: blue;"&gt;if&lt;/span&gt;(mydiv!=&lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; LblSign!=&lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  6:       {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  7:             &lt;span style="color: blue;"&gt;if&lt;/span&gt;(mydiv.style.display!="&lt;span style="color: darkred;"&gt;block&lt;/span&gt;")&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  8:            {&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt;  9:                 mydiv.style.display="&lt;span style="color: darkred;"&gt;block&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 10:                 LblSign.innerHTML="&lt;span style="color: darkred;"&gt;-&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 11:            }&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 12:            &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 13:           {&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 14:                 mydiv.style.display="&lt;span style="color: darkred;"&gt;none&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 15:                 LblSign.innerHTML="&lt;span style="color: darkred;"&gt;+&lt;/span&gt;";&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 16:           } &lt;/pre&gt;
&lt;pre style="background-color: white; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 17:       }&lt;/pre&gt;
&lt;pre style="background-color: whitesmoke; font-family: consolas,'Courier New',courier,monospace; font-size: 11px; margin: 0em; width: 100%;"&gt; 18:  }&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
Above JavaScript function will Hide/ Show Div and changes Sign of Parent Row on expansion of Div and so on. I hope this helps!! :)&lt;br /&gt;
&lt;br /&gt;
Next Time i will write “How to generate Child Gridview Dynamically” :)&lt;br /&gt;
&lt;br /&gt;
Enjoy!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-7048165392270795767?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=vnV4iOLFwQg:HCq--8_PCZc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=vnV4iOLFwQg:HCq--8_PCZc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=vnV4iOLFwQg:HCq--8_PCZc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=vnV4iOLFwQg:HCq--8_PCZc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=vnV4iOLFwQg:HCq--8_PCZc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=vnV4iOLFwQg:HCq--8_PCZc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=vnV4iOLFwQg:HCq--8_PCZc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/vnV4iOLFwQg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/vnV4iOLFwQg/nested-gridview-in-aspnet-20.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_2cveClWhO_o/ShGfMzG7BjI/AAAAAAAAALM/Tfr2cX7bIIU/s72-c/NestedGridview_thumb6.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/05/nested-gridview-in-aspnet-20.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-5607128316037848267</guid><pubDate>Tue, 05 May 2009 17:58:00 +0000</pubDate><atom:updated>2009-05-06T22:46:31.533+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS2005</category><category domain="http://www.blogger.com/atom/ns#">TreeView</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Retrieve selected treenode value at server side</title><description>&lt;p style="text-align: justify;"&gt;As i said in my previous post here’s the way to retrieve selected treenode value at server side.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_2cveClWhO_o/SgB-U5vJBKI/AAAAAAAAAK4/bYVdy62x4S0/s1600-h/treeviewcheckbox%5B2%5D.jpg"&gt;&lt;img title="treeviewcheckbox" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" alt="treeviewcheckbox" src="http://lh5.ggpht.com/_2cveClWhO_o/SgB-V6ONNbI/AAAAAAAAAK8/-Jx_EBOcwNk/treeviewcheckbox_thumb.jpg?imgmax=800" width="200" border="0" height="108" /&gt;&lt;/a&gt;In above image all the nodes are selected including parent node. In my first &lt;a href="http://nilthakkar.blogspot.com/2009/03/populate-treeview-with-database-fields.html"&gt;post&lt;/a&gt; we concatenated value of parent node with child node and  assigned it to child node so that whenever we want to retrieve value of child node, we can have parent node value. &lt;/p&gt;  &lt;p&gt;Here’s the output of selected node:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_2cveClWhO_o/SgB-WuTtnGI/AAAAAAAAALA/Yi6uUaInFZY/s1600-h/data%5B2%5D.jpg"&gt;&lt;img title="data" style="border-width: 0px; display: inline;" alt="data" src="http://lh6.ggpht.com/_2cveClWhO_o/SgB-X2LSZiI/AAAAAAAAALE/RkLp1ihRZC4/data_thumb.jpg?imgmax=800" width="244" border="0" height="176" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C# &lt;/strong&gt;&lt;/p&gt;  &lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  1:  &lt;span style="color: rgb(0, 0, 255);"&gt;protected&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; btnGetNode_Click(&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  2:  {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  3:         TreeNodeCollection tn = tvSample.CheckedNodes;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;  4:         &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; i = 0; i &amp;lt; tn.Count; i++)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;  5:         {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;  6:             String[] arr =  tn[i].Value.Split('$');&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt;  7:             &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (arr.Length == 2)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  8:             {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  9:                 Response.Write("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;Parent Node Value&lt;/span&gt;" + arr[1] + "&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;");&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 10:                 Response.Write("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;Child Node: &lt;/span&gt;" + tn[i].Text + "&lt;span style="color: rgb(139, 0, 0);"&gt; Value: &lt;/span&gt;" + arr[0]);&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 11:             }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 12:         }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 13:  }&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;VB&lt;/strong&gt;&lt;br /&gt;&lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  1: &lt;span style="color: rgb(0, 0, 255);"&gt;Protected&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Sub&lt;/span&gt; btnGetNode_Click(&lt;span style="color: rgb(0, 0, 255);"&gt;ByVal&lt;/span&gt; sender &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Object&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;ByVal&lt;/span&gt; e &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; EventArgs) &lt;span style="color: rgb(0, 0, 255);"&gt;Handles&lt;/span&gt; btnGetNode.Click&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  2:         &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; tn &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; TreeNodeCollection = tvSample.CheckedNodes&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  3:         &lt;span style="color: rgb(0, 0, 255);"&gt;For&lt;/span&gt; i &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Integer&lt;/span&gt; = 0 &lt;span style="color: rgb(0, 0, 255);"&gt;To&lt;/span&gt; tn.Count - 1&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  4:             &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; arr &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; [&lt;span style="color: rgb(0, 0, 255);"&gt;String&lt;/span&gt;]() = tn(i).Value.Split("&lt;span style="color: rgb(139, 0, 0);"&gt;$&lt;/span&gt;"c)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt;  5:             &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt; arr.Length = 2 &lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt;  6:                 Response.Write("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;Parent Node Value&lt;/span&gt;" &amp;amp; arr(1) &amp;amp; "&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;")&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt;  7:                 Response.Write("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;br&amp;gt;Child Node: &lt;/span&gt;" &amp;amp; tn(i).Text &amp;amp; "&lt;span style="color: rgb(139, 0, 0);"&gt; Value: &lt;/span&gt;" + arr(0))&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt;  8:             &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt;  9:         &lt;span style="color: rgb(0, 0, 255);"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 10:     &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 11: &lt;/pre&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;As shown in above code, we are splitting node value with ‘&lt;strong&gt;$’ &lt;/strong&gt;sign. The first value is parent node value and second value is child node value. Another way is to loop through all the nodes and check for checked node value.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I hope this helps!!  :)&lt;br /&gt;&lt;br /&gt;In my next post i will write about &lt;strong&gt;check tree nodes on the basis of database value.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-5607128316037848267?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=8A8AMlYZKHg:sSBqFXSb_9A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=8A8AMlYZKHg:sSBqFXSb_9A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=8A8AMlYZKHg:sSBqFXSb_9A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=8A8AMlYZKHg:sSBqFXSb_9A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=8A8AMlYZKHg:sSBqFXSb_9A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=8A8AMlYZKHg:sSBqFXSb_9A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=8A8AMlYZKHg:sSBqFXSb_9A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/8A8AMlYZKHg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/8A8AMlYZKHg/retrieve-selected-treenode-value-at.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_2cveClWhO_o/SgB-V6ONNbI/AAAAAAAAAK8/-Jx_EBOcwNk/s72-c/treeviewcheckbox_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/05/retrieve-selected-treenode-value-at.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-7825271085291825647</guid><pubDate>Fri, 17 Apr 2009 17:15:00 +0000</pubDate><atom:updated>2009-04-17T23:40:55.457+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">TreeView</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>TreeView Node Value at Client Side</title><description>&lt;p align="justify"&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;As i said in my last &lt;/span&gt;&lt;a href="http://nilthakkar.blogspot.com/2009/04/check-uncheck-treeview-checkboxes-with_13.html" target="_blank"&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;post&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt; in this post i will demonstrate how to retrieve value of selected nodes at client side. First of all if you are not aware how to &lt;/span&gt;&lt;a href="http://nilthakkar.blogspot.com/2009/03/populate-treeview-with-database-fields.html" target="_blank"&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;Populate Treeview dynamically with database fields&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt; and &lt;/span&gt;&lt;a href="http://nilthakkar.blogspot.com/2009/04/check-uncheck-treeview-checkboxes-with_13.html" target="_blank"&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;check/ Uncheck TreeView Checkboxes&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt; then please refer respective posts. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;Here’s the snap of treeview selected nodes:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_2cveClWhO_o/Sei7DFwHWHI/AAAAAAAAAKw/-8nKUAC9_Rw/s1600-h/treenode%5B2%5D.jpg"&gt;&lt;span style="font-family:ver;font-size:85%;"&gt;&lt;img title="treenode" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" alt="treenode" src="http://lh5.ggpht.com/_2cveClWhO_o/Sei7Egci8QI/AAAAAAAAAK0/7Bnlx7SM_mg/treenode_thumb.jpg?imgmax=800" width="178" border="0" height="100" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;As you can see in above image that &lt;strong&gt;Designer&lt;/strong&gt; is the parent node and others are child nodes. Now it is very necessary to understand how this will be rendered so that we can write appropriate ClientScript.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;Here’s the rendered HTML of treeview node:&lt;/span&gt;&lt;/p&gt;  &lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  1: &amp;lt;td style="&lt;span style="color: rgb(139, 0, 0);"&gt;white-space:nowrap;&lt;/span&gt;"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  2: &amp;lt;input type="&lt;span style="color: rgb(139, 0, 0);"&gt;checkbox&lt;/span&gt;" &lt;span style="color: rgb(0, 0, 255);"&gt;name&lt;/span&gt;="&lt;span style="color: rgb(139, 0, 0);"&gt;tvSamplen54CheckBox&lt;/span&gt;" id="&lt;span style="color: rgb(139, 0, 0);"&gt;tvSamplen54CheckBox&lt;/span&gt;" /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(128, 255, 128);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  3: &amp;lt;a &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;="&lt;span style="color: rgb(139, 0, 0);"&gt;tvSample_0&lt;/span&gt;" href="&lt;span style="color: rgb(139, 0, 0);"&gt;javascript:__doPostBack('tvSample','s14\\ENL44273F$14')&lt;/span&gt;" onclick="&lt;span style="color: rgb(139, 0, 0);"&gt;TreeView_SelectNode(tvSample_Data, this,'tvSamplet54');&lt;/span&gt;" id="&lt;span style="color: rgb(139, 0, 0);"&gt;tvSamplet54&lt;/span&gt;"&amp;gt;ElizabethLincoln&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  4: &amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;our area of interest is &amp;lt;a&amp;gt; tag  having green background colour in above code. It contains node value in it’s href attribute.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;&lt;br /&gt;so Here’s the Client Script function that is useful to retrieve value of selected node at Client Side.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  1: &lt;span style="color: rgb(0, 128, 0);"&gt;//this function will return &amp;lt;a&amp;gt; tag and we can find the nodevalue in href attribute of it&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  2:     &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; getNextSibling(element)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  3:     {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  4:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; n = element;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  5:         &lt;span style="color: rgb(0, 0, 255);"&gt;do&lt;/span&gt; n = n.nextSibling;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  6:         &lt;span style="color: rgb(0, 0, 255);"&gt;while&lt;/span&gt; (n &amp;amp;&amp;amp; n.nodeType != 1);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  7:         &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; n;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  8:     }&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  9:     &lt;span style="color: rgb(0, 128, 0);"&gt;//returns NodeValue&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 10:     &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; GetNodeValue(node)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 11:     {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 12:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nodeValue = "&lt;span style="color: rgb(139, 0, 0);"&gt;&lt;/span&gt;";&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 13:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nodePath = node.href.substring(node.href.indexOf("&lt;span style="color: rgb(139, 0, 0);"&gt;,&lt;/span&gt;") + 2, node.href.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt; - 2);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 14:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nodeValues = nodePath.split("&lt;span style="color: rgb(139, 0, 0);"&gt;\\&lt;/span&gt;");&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 15:         &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (nodeValues.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt; &amp;gt; 1)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 16:             nodeValue = nodeValues[nodeValues.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt; - 1];&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 17:         &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 18:             nodeValue = nodeValues[0].substr(1);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 19:         &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; nodeValue;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 20:     } &lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;Here’s the function that will call the function in above code. This function i posted in my previous post &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;but highlighted lines are additional.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  1: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; OnTreeClick(evt)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  2: {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  3:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  4:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; src = &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.event != &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.undefined ? &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.event.srcElement : evt.target;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  5:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  6:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; isChkBoxClick = (src.tagName.toLowerCase() == "&lt;span style="color: rgb(139, 0, 0);"&gt;input&lt;/span&gt;" &amp;amp;&amp;amp; src.type == "&lt;span style="color: rgb(139, 0, 0);"&gt;checkbox&lt;/span&gt;");&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  7:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  8:  &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(isChkBoxClick)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt;  9:  {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 10:    &lt;span style="color: rgb(0, 128, 0);"&gt;//gets node value if node is checked, this was my requirement&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(128, 255, 128);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 11:     &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (src.checked==&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(128, 255, 128);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 12:     {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(128, 255, 128);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 13:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nodeText = getNextSibling(src).innerText || getNextSibling(src).innerHTML;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(128, 255, 128);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 14:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(128, 255, 128);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 15:         &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nodeValue = GetNodeValue(getNextSibling(src));&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(128, 255, 128);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 16:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(128, 255, 128);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 17:         &lt;span style="color: rgb(0, 0, 255);"&gt;alert&lt;/span&gt;("&lt;span style="color: rgb(139, 0, 0);"&gt;Text: &lt;/span&gt;" + nodeText + "&lt;span style="color: rgb(139, 0, 0);"&gt;,&lt;/span&gt;" + "&lt;span style="color: rgb(139, 0, 0);"&gt;Value: &lt;/span&gt;" + nodeValue);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(128, 255, 128);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 18:     }&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 19:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentTable = GetParentByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;table&lt;/span&gt;", src);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 20:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 21:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nxtSibling = parentTable.nextSibling;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 22:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 23:      &lt;span style="color: rgb(0, 128, 0);"&gt;//check if nxt sibling is not null &amp;amp; is an element node&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 24:       &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(nxtSibling &amp;amp;&amp;amp; nxtSibling.nodeType == 1)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 25:      {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 26:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 27:           &lt;span style="color: rgb(0, 128, 0);"&gt;//if node has children    &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 28:          &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(nxtSibling.tagName.toLowerCase() == "&lt;span style="color: rgb(139, 0, 0);"&gt;div&lt;/span&gt;")&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 29:          {&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 30:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 31:              &lt;span style="color: rgb(0, 128, 0);"&gt;//check or uncheck children at all levels&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 32:              CheckUncheckChildren(parentTable.nextSibling, src.checked);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 33:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 34:          }&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 35:      }&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 36:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 37:  &lt;span style="color: rgb(0, 128, 0);"&gt;//check or uncheck parents at all levels&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 38:  CheckUncheckParents(src, src.checked);&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 39:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 40:  }&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 41:&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;&lt;span style="font-family:ver;font-size:130%;"&gt; 42: }&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:85%;"&gt;In my next post i will write about how to retrieve value of selected nodes at client side.&lt;/span&gt;&lt;span style="font-family:ver;font-size:85%;"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:ver;font-size:85%;"&gt;&lt;span style="font-family:Georgia;"&gt;I hope this helps!!&lt;/span&gt; &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-7825271085291825647?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=m-eEQOYnO4o:wPC1oz1RswQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=m-eEQOYnO4o:wPC1oz1RswQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=m-eEQOYnO4o:wPC1oz1RswQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=m-eEQOYnO4o:wPC1oz1RswQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=m-eEQOYnO4o:wPC1oz1RswQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=m-eEQOYnO4o:wPC1oz1RswQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=m-eEQOYnO4o:wPC1oz1RswQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/m-eEQOYnO4o" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/m-eEQOYnO4o/treeview-node-value-at-client-side.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_2cveClWhO_o/Sei7Egci8QI/AAAAAAAAAK0/7Bnlx7SM_mg/s72-c/treenode_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/04/treeview-node-value-at-client-side.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-2612949978781288730</guid><pubDate>Sun, 12 Apr 2009 18:53:00 +0000</pubDate><atom:updated>2009-04-13T01:23:07.488+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">TreeView</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Check/ Uncheck Treeview Checkboxes with Javascript</title><description>&lt;p&gt;As i said in my last post that i will post code how to retrieve treeview node values at client side as well as server side. But before that we have to add client script to check/ uncheck treeview checkboxes. &lt;/p&gt;  &lt;p&gt;First of all add following in your page_load event:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;  &lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  1: If(!isPostBack)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  2: {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  3:     TreeView1.Attributes.Add("&lt;span style="color: rgb(139, 0, 0);"&gt;onclick&lt;/span&gt;","&lt;span style="color: rgb(139, 0, 0);"&gt;OnTreeClick(event)&lt;/span&gt;");&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  4: }&lt;/pre&gt;&lt;/pre&gt;&lt;strong&gt;VB&lt;/strong&gt;&lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  1: &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;not&lt;/span&gt; Ispostback &lt;span style="color: rgb(0, 0, 255);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  2:   TreeView1.Attributes.Add("&lt;span style="color: rgb(139, 0, 0);"&gt;onclick&lt;/span&gt;","&lt;span style="color: rgb(139, 0, 0);"&gt;OnTreeClick(event)&lt;/span&gt;")&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  3: &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;pre style="border: 1px solid rgb(192, 192, 192); padding: 5px; overflow: auto; min-height: 40px; width: 650px; background-color: rgb(255, 255, 255);"&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  1: &amp;lt;script type="&lt;span style="color: rgb(139, 0, 0);"&gt;text/javascript&lt;/span&gt;"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  2: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; OnTreeClick(evt)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  3: {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  4:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; src = &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.event != &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.undefined ? &lt;span style="color: rgb(0, 0, 255);"&gt;window&lt;/span&gt;.event.srcElement : evt.target;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  5:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; isChkBoxClick = (src.tagName.toLowerCase() == "&lt;span style="color: rgb(139, 0, 0);"&gt;input&lt;/span&gt;" &amp;amp;&amp;amp; src.type == "&lt;span style="color: rgb(139, 0, 0);"&gt;checkbox&lt;/span&gt;");&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  6:  &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(isChkBoxClick)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  7:  {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  8:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentTable = GetParentByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;table&lt;/span&gt;", src);&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt;  9:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; nxtSibling = parentTable.nextSibling;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 10:      &lt;span style="color: rgb(0, 128, 0);"&gt;//check if nxt sibling is not null &amp;amp; is an element node&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 11:       &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(nxtSibling &amp;amp;&amp;amp; nxtSibling.nodeType == 1)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 12:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 13:           &lt;span style="color: rgb(0, 128, 0);"&gt;//if node has children    &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 14:          &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(nxtSibling.tagName.toLowerCase() == "&lt;span style="color: rgb(139, 0, 0);"&gt;div&lt;/span&gt;")&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 15:          {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 16:              &lt;span style="color: rgb(0, 128, 0);"&gt;//check or uncheck children at all levels&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 17:              CheckUncheckChildren(parentTable.nextSibling, src.checked);&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 18:          }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 19:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 20:  &lt;span style="color: rgb(0, 128, 0);"&gt;//check or uncheck parents at all levels&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 21:  CheckUncheckParents(src, src.checked);&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 22:  }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 23: }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 24:&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 25:  &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; CheckUncheckChildren(childContainer, check)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 26: {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 27:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; childChkBoxes = childContainer.getElementsByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;input&lt;/span&gt;");&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 28:       &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; childChkBoxCount = childChkBoxes.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 29:  &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; i=0;i&amp;lt;childChkBoxCount;i++)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 30:  {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 31:      childChkBoxes[i].checked = check;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 32:  }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 33: }&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 34:&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255); font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"&gt; 35: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; CheckUncheckParents(srcChild, check)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 36: {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 37:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentDiv = GetParentByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;div&lt;/span&gt;", srcChild);&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 38:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentNodeTable = parentDiv.previousSibling;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 39:  &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(parentNodeTable)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 40:  {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 41:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; checkUncheckSwitch;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 42:     &lt;span style="color: rgb(0, 128, 0);"&gt;//checkbox checked &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 43:      &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(check)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 44:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 45:          &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; isAllSiblingsChecked = AreAllSiblingsChecked(srcChild);&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 46:          &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(isAllSiblingsChecked)&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 47:                  checkUncheckSwitch = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 48:          &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 49:                  &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;; &lt;span style="color: rgb(0, 128, 0);"&gt;//do not need to check parent if any(one or more) child not checked&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 50:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 51:      &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//checkbox unchecked&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 52:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 53:          checkUncheckSwitch = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 54:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 55:  &lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 56:      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; inpElemsInParentTable = parentNodeTable.getElementsByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;input&lt;/span&gt;");&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 57:      &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(inpElemsInParentTable.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt; &amp;gt; 0)&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 58:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 59:          &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentNodeChkBox = inpElemsInParentTable[0];&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 60:          parentNodeChkBox.checked = checkUncheckSwitch;&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 61:          &lt;span style="color: rgb(0, 128, 0);"&gt;//do the same recursively&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 62:         CheckUncheckParents(parentNodeChkBox, checkUncheckSwitch);&lt;br /&gt;&lt;/pre&gt;&lt;pre   style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);font-family:consolas,'Courier New',courier,monospace;font-size:12px;"&gt; 63:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 64:  }&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 65: }&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(245, 245, 245);"&gt; 66:&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 67: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; AreAllSiblingsChecked(chkBox)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 68: {&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 69:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; parentDiv = GetParentByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;div&lt;/span&gt;", chkBox);&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 70:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; childCount = parentDiv.childNodes.&lt;span style="color: rgb(0, 0, 255);"&gt;length&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 71:  &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; i=0;i&amp;lt;childCount;i++)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 72:  {&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 73:      &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(parentDiv.childNodes[i].nodeType == 1)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 74:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 75:          &lt;span style="color: rgb(0, 128, 0);"&gt;//check if the child node is an element node&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 76:          &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(parentDiv.childNodes[i].tagName.toLowerCase() == "&lt;span style="color: rgb(139, 0, 0);"&gt;table&lt;/span&gt;")&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 77:          {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 78:              &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; prevChkBox = parentDiv.childNodes[i].getElementsByTagName("&lt;span style="color: rgb(139, 0, 0);"&gt;input&lt;/span&gt;")[0];&lt;br /&gt;&lt;/pre&gt;&lt;pre face="consolas,'Courier New',courier,monospace" size="12px" style="margin: 0em; width: 100%; background-color: rgb(255, 255, 255);"&gt; 79:              &lt;span style="color: rgb(0, 128, 0);"&gt;//if any of sibling nodes are not checked, return false&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 80:              &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(!prevChkBox.checked)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 81:              {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 82:                  &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 83:              }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 84:          }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 85:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 86:  }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 87:  &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 88: }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 89:&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 90: &lt;span style="color: rgb(0, 128, 0);"&gt;//utility function to get the container of an element by tagname&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 91: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; GetParentByTagName(parentTagName, childElementObj)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 92: {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 93:  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;parent&lt;/span&gt; = childElementObj.parentNode;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 94:  &lt;span style="color: rgb(0, 0, 255);"&gt;while&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;parent&lt;/span&gt;.tagName.toLowerCase() != parentTagName.toLowerCase())&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 95:      {&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 96:          &lt;span style="color: rgb(0, 0, 255);"&gt;parent&lt;/span&gt; = &lt;span style="color: rgb(0, 0, 255);"&gt;parent&lt;/span&gt;.parentNode;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 97:      }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt; 98:  &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;parent&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(255, 255, 255);"&gt; 99: }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; font-size: 12px; width: 100%; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(245, 245, 245);"&gt;100:     &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;Next time i will post about how to retrieve value at Client Side and Server Side.&lt;br /&gt;&lt;br /&gt;I hope this helps!! &lt;img alt="Happy" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-2612949978781288730?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=pOTz7CdYaEE:L3Kn0SIwLBk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=pOTz7CdYaEE:L3Kn0SIwLBk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=pOTz7CdYaEE:L3Kn0SIwLBk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=pOTz7CdYaEE:L3Kn0SIwLBk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=pOTz7CdYaEE:L3Kn0SIwLBk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=pOTz7CdYaEE:L3Kn0SIwLBk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=pOTz7CdYaEE:L3Kn0SIwLBk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/pOTz7CdYaEE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/pOTz7CdYaEE/check-uncheck-treeview-checkboxes-with_13.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>1</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/04/check-uncheck-treeview-checkboxes-with_13.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-9202440247377783229</guid><pubDate>Thu, 26 Mar 2009 16:34:00 +0000</pubDate><atom:updated>2009-10-06T22:52:50.659+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS2005</category><category domain="http://www.blogger.com/atom/ns#">TreeView</category><category domain="http://www.blogger.com/atom/ns#">Asp.net</category><title>Populate Treeview With Database Fields</title><description>&lt;div  style="text-align: justify;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;This post describes how to populate treeview with database fields. People often required to populate treeview with database fields and they choose different approaches to make it work. Here I am going to describe the simplest way.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Here I'll be using Sql Server Sample Database: &lt;span style="font-weight: bold;"&gt;Pubs&lt;/span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Relations:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2cveClWhO_o/Scu3_CDa48I/AAAAAAAAAKc/SvxkVDaR46U/s1600-h/Relation.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 291px; height: 181px;" src="http://4.bp.blogspot.com/_2cveClWhO_o/Scu3_CDa48I/AAAAAAAAAKc/SvxkVDaR46U/s400/Relation.JPG" alt="" id="BLOGGER_PHOTO_ID_5317546078551860162" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Treeview&lt;/span&gt;&lt;span style="font-size:100%;"&gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2cveClWhO_o/Scu5cZG5VAI/AAAAAAAAAKk/o4p8h6U4HDw/s1600-h/TreeView.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 197px; height: 306px;" src="http://4.bp.blogspot.com/_2cveClWhO_o/Scu5cZG5VAI/AAAAAAAAAKk/o4p8h6U4HDw/s400/TreeView.JPG" alt="" id="BLOGGER_PHOTO_ID_5317547682468287490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;                 &lt;span style="font-weight: bold;"&gt;VB Code&lt;/span&gt; :&lt;br /&gt;&lt;pre class="brush:vb"&gt;&lt;br /&gt;Public Sub GenerateTreeView()&lt;br /&gt;   Dim ds As New DataSet&lt;br /&gt;   Dim conn As New SqlConnection&lt;br /&gt;   Dim connString As String&lt;br /&gt;   Dim strQuery As String&lt;br /&gt;   Dim da As SqlDataAdapter&lt;br /&gt;   Dim dtJob As New DataTable&lt;br /&gt;   Dim dtEmp As New DataTable&lt;br /&gt;   Dim nodeJob As TreeNode&lt;br /&gt;   Dim nodeEmp As TreeNode     &lt;br /&gt;&lt;br /&gt;   Try&lt;br /&gt;&lt;br /&gt;   connString = ConfigurationManager.ConnectionStrings("pubsConnectionString").ToString()&lt;br /&gt;&lt;br /&gt;   strQuery = "select job_id,job_desc from jobs"&lt;br /&gt;   da = New SqlDataAdapter(strQuery, connString)&lt;br /&gt;   da.Fill(dtJob)&lt;br /&gt;   dtJob.TableName = "Job"&lt;br /&gt;   ds.Tables.Add(dtJob)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   strQuery = "SELECT emp_id, fname, lname, job_id FROM employee ORDER BY job_id"&lt;br /&gt;   da = New SqlDataAdapter(strQuery, connString)&lt;br /&gt;   da.Fill(dtEmp)&lt;br /&gt;   dtEmp.TableName = "Employee"&lt;br /&gt;   ds.Tables.Add(dtEmp)&lt;br /&gt;&lt;br /&gt;   'define RelationShip&lt;br /&gt;   ds.Relations.Add("JobEmployee", ds.Tables("Job").Columns("job_id"),&lt;br /&gt; ds.Tables("Employee").Columns("job_id"))&lt;br /&gt;&lt;br /&gt;   For Each dr As DataRow In ds.Tables("job").Rows       'Parent Nodes&lt;br /&gt;       nodeJob = New TreeNode()&lt;br /&gt;       nodeJob.Value = dr("job_id")&lt;br /&gt;       nodeJob.Text = dr("job_desc")&lt;br /&gt;       nodeJob.ShowCheckBox = True&lt;br /&gt;       nodeJob.Expanded = False&lt;br /&gt;       tvSample.Nodes.Add(nodeJob)&lt;br /&gt;       For Each drr As DataRow In dr.GetChildRows("JobEmployee")    'Child Nodes&lt;br /&gt;           nodeEmp = New TreeNode()&lt;br /&gt;           nodeEmp.Text = drr("fname") &amp;amp; " " &amp;amp; drr("lname")&lt;br /&gt;           'here concating parent node value with child node value&lt;br /&gt;           'so that it will be easy to get the selected node value&lt;br /&gt;           nodeEmp.Value = drr("emp_id") &amp;amp; "$" &amp;amp; dr("job_id") &lt;br /&gt;           nodeEmp.ShowCheckBox = True&lt;br /&gt;           nodeJob.ChildNodes.Add(nodeEmp)&lt;br /&gt;       Next&lt;br /&gt;   Next&lt;br /&gt;&lt;br /&gt;  Catch ex As Exception&lt;br /&gt;    strQuery = Nothing&lt;br /&gt;    da = Nothing&lt;br /&gt;    conn = Nothing&lt;br /&gt;    connString = Nothing&lt;br /&gt;  Finally&lt;br /&gt; End Try&lt;br /&gt;End Sub&lt;br /&gt; &lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;C# Code:&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush:csharp"&gt;&lt;br /&gt; public void GenerateTreeView()&lt;br /&gt;     {&lt;br /&gt;         DataSet ds = new DataSet();&lt;br /&gt;         SqlConnection conn = new SqlConnection();&lt;br /&gt;         string connString = null;&lt;br /&gt;         string strQuery = null;&lt;br /&gt;         SqlDataAdapter da;&lt;br /&gt;         DataTable dtJob = new DataTable();&lt;br /&gt;         DataTable dtEmp = new DataTable();&lt;br /&gt;         TreeNode nodeJob; &lt;br /&gt;         TreeNode nodeEmp; &lt;br /&gt;        &lt;br /&gt;         try {&lt;br /&gt;            &lt;br /&gt;             connString =&lt;br /&gt;ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString.ToString();&lt;br /&gt;            &lt;br /&gt;             //Job Table Data&lt;br /&gt;             strQuery = "select job_id,job_desc from jobs";&lt;br /&gt;             da = new SqlDataAdapter(strQuery, connString);&lt;br /&gt;             da.Fill(dtJob);&lt;br /&gt;             dtJob.TableName = "Job";&lt;br /&gt;             ds.Tables.Add(dtJob);&lt;br /&gt;            &lt;br /&gt;            //Employee Table Data&lt;br /&gt;             strQuery = "SELECT emp_id, fname, lname, job_id FROM employee ORDER BY job_id";&lt;br /&gt;             da = new SqlDataAdapter(strQuery, connString);&lt;br /&gt;             da.Fill(dtEmp);&lt;br /&gt;             dtEmp.TableName = "Employee";&lt;br /&gt;             ds.Tables.Add(dtEmp);&lt;br /&gt;            &lt;br /&gt;             //define RelationShip&lt;br /&gt;             ds.Relations.Add("JobEmployee", ds.Tables["Job"].Columns["job_id"],&lt;br /&gt;ds.Tables["Employee"].Columns["job_id"]);&lt;br /&gt;            &lt;br /&gt;             foreach (DataRow dr in ds.Tables["job"].Rows) {&lt;br /&gt;                 nodeJob = new TreeNode();&lt;br /&gt;                 nodeJob.Value = dr["job_id"].ToString();&lt;br /&gt;                 nodeJob.Text = dr["job_desc"].ToString();&lt;br /&gt;                 nodeJob.ShowCheckBox = true;&lt;br /&gt;                 nodeJob.Expanded = false;&lt;br /&gt;                 tvSample.Nodes.Add(nodeJob);&lt;br /&gt;                 foreach (DataRow drr in dr.GetChildRows("JobEmployee") ) {&lt;br /&gt;                     nodeEmp = new TreeNode();&lt;br /&gt;                     nodeEmp = new TreeNode();&lt;br /&gt;                     nodeEmp.Text = drr["fname"].ToString() + drr["lname"].ToString();&lt;br /&gt;                     nodeEmp.ShowCheckBox = true;&lt;br /&gt;                     nodeJob.ChildNodes.Add(nodeEmp);&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         catch (Exception ex) {&lt;br /&gt;             strQuery = null;&lt;br /&gt;             da = null;&lt;br /&gt;             conn = null;&lt;br /&gt;             connString = null;&lt;br /&gt;         }&lt;br /&gt;        &lt;br /&gt;         finally {&lt;br /&gt;         }&lt;br /&gt;        &lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;In my next posts i will write about javascript that will be useful to check/ uncheck all the checkboxes of treeview and how to retrieve value of all the checked nodes server side and client side. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;I hope this helps :)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-9202440247377783229?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=FuLQGT5agTQ:b9bL4X26CJY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=FuLQGT5agTQ:b9bL4X26CJY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=FuLQGT5agTQ:b9bL4X26CJY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=FuLQGT5agTQ:b9bL4X26CJY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=FuLQGT5agTQ:b9bL4X26CJY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=FuLQGT5agTQ:b9bL4X26CJY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=FuLQGT5agTQ:b9bL4X26CJY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/FuLQGT5agTQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/FuLQGT5agTQ/populate-treeview-with-database-fields.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_2cveClWhO_o/Scu3_CDa48I/AAAAAAAAAKc/SvxkVDaR46U/s72-c/Relation.JPG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/03/populate-treeview-with-database-fields.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-2515672622182458624</guid><pubDate>Sun, 15 Mar 2009 09:12:00 +0000</pubDate><atom:updated>2011-09-15T01:10:12.927+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu</category><title>Ubuntu 8.10, blank screen shows after login screen</title><description>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Recently i installed Ubuntu 8.10 (Intrepid Ibex) on my machine. After loging in i got only brown blank screen and i couldn't do anything except moving mouse around the screen. I thought i didn't installed it properly, so i reinstalled it twice. Finally i found out the solution. It happened because graphic card can not handle the compiz effects.&lt;br /&gt;&lt;br /&gt;There is a bug in the Intel Video driver for the Intel 830MG and 845G video cards. Desktop effects with Compiz will not work on those chips and freeze the system. During that time &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;keyboard too won't work (meaning Numlock doens't work), just to be sure, are you able to get to consoles (ctrl+alt+f1)? If that too doesn't work, it's probably your kernel crashing.&lt;br /&gt;&lt;br /&gt;To fix the problem you need to remove the Compiz, here's how:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;1. &lt;span style="font-family:verdana;"&gt;F&lt;/span&gt;rom the Grub boot menu slect the “recovery mode” option.&lt;/span&gt;&lt;/span&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;2. Select “root       Drop to root shell prompt”&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Type the following at the prompt:&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;3. sudo apt-get remove compiz&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;4. &lt;span style="font-family:verdana;"&gt;sudo apt-get remove compiz-core&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;5. exit&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;6. Select “resume      Resume normal boot”&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Or you can use the following trick&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;1. Select FailSafe Terminal session from the options at Login screen and Login with your Username and Password.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;2. Type gconf-editor. It will open configuration editor window, from it select&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;         desktop-&gt;gnome-&gt;application-&gt;window_manager.&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2cveClWhO_o/SbzEW9y47YI/AAAAAAAAAKU/g72a7bs3Fiw/s1600-h/configurationeditor.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_2cveClWhO_o/SbzEW9y47YI/AAAAAAAAAKU/g72a7bs3Fiw/s400/configurationeditor.png" alt="" id="BLOGGER_PHOTO_ID_5313337559214517634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;3. From right side of the window edit the value for &lt;span style="font-weight: bold;"&gt;current&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;default&lt;/span&gt; by removing "usr/bin/compiz" with "usr/bin/metacity" and reboot.&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;4. Select Gnome session and Login with your Username and Password.&lt;/span&gt;&lt;/p&gt;&lt;p face="verdana"&gt;&lt;span style="font-size:85%;"&gt;That's it!! :)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-2515672622182458624?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Rq4NMCwJctA:5q2O-d4NR2A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Rq4NMCwJctA:5q2O-d4NR2A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=Rq4NMCwJctA:5q2O-d4NR2A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Rq4NMCwJctA:5q2O-d4NR2A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Rq4NMCwJctA:5q2O-d4NR2A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=Rq4NMCwJctA:5q2O-d4NR2A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Rq4NMCwJctA:5q2O-d4NR2A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/Rq4NMCwJctA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/Rq4NMCwJctA/ubuntu-810-blank-screen-shows-after.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_2cveClWhO_o/SbzEW9y47YI/AAAAAAAAAKU/g72a7bs3Fiw/s72-c/configurationeditor.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/03/ubuntu-810-blank-screen-shows-after.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-8014509946009429033</guid><pubDate>Thu, 29 Jan 2009 18:27:00 +0000</pubDate><atom:updated>2011-09-15T01:09:13.087+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">.Net Framework</category><category domain="http://www.blogger.com/atom/ns#">Silverlight</category><category domain="http://www.blogger.com/atom/ns#">Mono</category><category domain="http://www.blogger.com/atom/ns#">Moonlight</category><title>.Net Frameworks and Silverlight</title><description>&lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Friends as I said that I will post&lt;span style=""&gt;  &lt;/span&gt;about topics that often surfaces on Asp.net Forums as well as Orkut Communities. So here's one of the question I came across:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify; font-family: verdana;"&gt;  &lt;/div&gt;&lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: left; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Is it possible to Use SilverLight with Asp.net 2.0?&lt;/span&gt;&lt;/p&gt;&lt;div style="font-family: verdana;"&gt;    &lt;/div&gt;&lt;p   style="margin: 0in; text-align: left; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Answer : No&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;You can not use it directly with Framework 2.0 but of course you can use it with Framework 3.0 and 3.5. But in a way if you want to use Silverlight with your application developed with framework 2.0 then you just have to compile all the Silverlight files in Framework 3.5 and add reference of it in your application. That's It!!&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Though it becomes confusing for people when experts say that yes you can do it with Orcas. Just compile your files in Orcas, add them in your application with proper reference. People often wonder what is this Orcas? Orcas is the Codename for .NET Framework 3.5.&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: left; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Here are some Codenames of .NET Frameworks :&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;    &lt;div style="text-align: center; font-family: verdana;"&gt;  &lt;/div&gt;&lt;ul  style="text-align: left; font-family: verdana;font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:11;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Framework&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;2.0&lt;/span&gt; - &lt;span style="font-weight: bold;"&gt;Whidbey&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul  style="text-align: left; font-family: verdana;font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Framework&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;3.0&lt;/span&gt; - &lt;span style="font-weight: bold;"&gt;Vista&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center; font-family: verdana;"&gt;  &lt;/div&gt;&lt;ul  style="text-align: left; font-family: verdana;font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Framework&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;3.5&lt;/span&gt; - &lt;span style="font-weight: bold;"&gt;Orcas&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Silverlight applications can be written in any .NET programming language. Microsoft has positioned Expression Blend Version 2.0 and 2.5 for designing the UI of Silverlight 1.0 and 2 applications respectively. Silverlight 2.0 is the Latest Version.&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Mono is a project led by Novell, which provides you with similar kind of IDE of .NET .It can be run on Linux, Unix, Mac OS X, Solaris, and of course Windows. Latest Version of Mono is 2.2. &lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; text-align: justify; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;The same Mono team is developing Moonlight, open source implementation of the Silverlight&lt;span style=""&gt;  &lt;/span&gt;1.0 and 2.0 runtimes. This project is officially supported by Microsoft. Lates version of Moonlight is 1.0 that was released on January 20, 2009.&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;Here are two sample application developed in Silvelight..just check them out..&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://memorabilia.hardrock.com/"&gt;Hard Rock Memorabilia&lt;/a&gt; and &lt;a href="http://mscui.net/PatientJourneyDemonstrator/"&gt;Mscui&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;To know how to make Silverlight work with VS2005 (Indirect way) , Click &lt;a href="http://blogs.sqlxml.org/bryantlikes/archive/2007/05/02/silverlight-hello-world-in-c-from-vs-2005.aspx"&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0in; font-family: verdana;font-family:verdana;font-size:11pt;"&gt;&lt;span style="font-size:85%;"&gt;I hope this post will be helpful !! :)&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-8014509946009429033?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=T2qGj9KRNL4:-72vZGZrJ2g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=T2qGj9KRNL4:-72vZGZrJ2g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=T2qGj9KRNL4:-72vZGZrJ2g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=T2qGj9KRNL4:-72vZGZrJ2g:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=T2qGj9KRNL4:-72vZGZrJ2g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=T2qGj9KRNL4:-72vZGZrJ2g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=T2qGj9KRNL4:-72vZGZrJ2g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/T2qGj9KRNL4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/T2qGj9KRNL4/net-frameworks-and-silverlight.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>2</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/01/net-frameworks-and-silverlight.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-9144263109831549057</guid><pubDate>Thu, 22 Jan 2009 16:43:00 +0000</pubDate><atom:updated>2011-09-15T01:11:22.897+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu</category><title>Add Windows XP entry to GRUB</title><description>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;This time i am writing this post for those who are new to Linux environment just like me. Few Days back my one of the friend helped me to make my Windows XP default operating system when it boots. But it was not done properly so i decided to solve the problem. For Adding/ Changing boot option, one has to change the settings in the Menu.lst file in Linux (Mine is Ubuntu 7.10).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;For editing Menu.lst file you have to enter command as shown in the following image.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2cveClWhO_o/SXileW4bVjI/AAAAAAAAAI0/U2lfkQJkgaE/s1600-h/edit.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 64px;" src="http://3.bp.blogspot.com/_2cveClWhO_o/SXileW4bVjI/AAAAAAAAAI0/U2lfkQJkgaE/s400/edit.JPG" alt="" id="BLOGGER_PHOTO_ID_5294163302930929202" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;It will ask for administrator password if you are not having enough privileges. Once you are in that file then you will find explanation in that file, how to edit and all that stuff. Lines starting with # indicate that they are comments. Go through below image how to make entry of Windows XP in Menu.lst&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2cveClWhO_o/SXinhK0Pi9I/AAAAAAAAAI8/_iO074TNIBQ/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_2cveClWhO_o/SXinhK0Pi9I/AAAAAAAAAI8/_iO074TNIBQ/s400/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5294165550255016914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;If you are not able to see in the screenshot then you can go through below given lines. In your Menu.lst file, you will find option root(hd0,0) or similar to it. you have to set that option on the basis of your hardware configuration and on what partitions Operating Systems are installed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;title Windows XP 64&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;root (hd0,0)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;savedefault&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;makeactive&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;chainloader +1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-family:verdana;"&gt;It would be better if you add above lines after all the entries of your Linux Operating System (Ubuntu) or you might not be able to set it as default O/S.&lt;br /&gt;&lt;br /&gt;If you are Windows User and find it somewhat difficult then you can download one GUI Tool "StartUp-Manager"&lt;/span&gt;. &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;StartUp-Manager, or SUM, is a python-glade GUI tool for configuring some things in grub and usplash.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;To download and install &lt;/span&gt;&lt;em style="font-family: verdana;"&gt;StartUp-Manager&lt;/em&gt;&lt;span style="font-family:verdana;"&gt;, download the DEB package attached to SUM’s official spot on the Ubuntu Forums &lt;/span&gt;&lt;a style="font-family: verdana;" set="yes" linkindex="14" href="http://ubuntuforums.org/showthread.php?t=295524" title="Ubuntu StartUp Manager"&gt;here&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. &lt;/span&gt;&lt;strong style="font-family: verdana;"&gt;Homepage can be found &lt;a set="yes" linkindex="15" href="http://web.telia.com/%7Eu88005282/sum/index.html" title="StartUp Manager"&gt;here&lt;/a&gt;. &lt;span style="font-weight: normal;font-family:verdana;" &gt;Here's the screenshot of it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2cveClWhO_o/SXixlLg3NcI/AAAAAAAAAJM/uLepb0-ieqc/s1600-h/mysnap.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 507px; height: 357px;" src="http://2.bp.blogspot.com/_2cveClWhO_o/SXixlLg3NcI/AAAAAAAAAJM/uLepb0-ieqc/s400/mysnap.png" alt="" id="BLOGGER_PHOTO_ID_5294176614277920194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;I hope this helps!! I am going to post solution of all those  Dot Net questions  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;very soon &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;that  are very common and often surfaces on the Asp.net Forums and Orkut Communities. &lt;br /&gt;&lt;br /&gt;Wish you all a great Weekend !!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;3/\/J0! :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-9144263109831549057?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=iq65FEbhFUE:A-FmHdE6XzU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=iq65FEbhFUE:A-FmHdE6XzU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=iq65FEbhFUE:A-FmHdE6XzU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=iq65FEbhFUE:A-FmHdE6XzU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=iq65FEbhFUE:A-FmHdE6XzU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=iq65FEbhFUE:A-FmHdE6XzU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=iq65FEbhFUE:A-FmHdE6XzU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/iq65FEbhFUE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/iq65FEbhFUE/add-windows-xp-entry-to-grub.html</link><author>noreply@blogger.com (Nilesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_2cveClWhO_o/SXileW4bVjI/AAAAAAAAAI0/U2lfkQJkgaE/s72-c/edit.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2009/01/add-windows-xp-entry-to-grub.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-8476126487347474336</guid><pubDate>Fri, 14 Nov 2008 11:45:00 +0000</pubDate><atom:updated>2011-09-15T01:01:24.574+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><category domain="http://www.blogger.com/atom/ns#">Free SMS</category><title>Google SMS Channel</title><description>&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Google India labs has introduced New Product "&lt;a href="http://labs.google.co.in/smschannels"&gt;Google SMS Channel&lt;/a&gt;" that let you subscribe to blog updates, Cricket and news alerts and daily horoscope, jokes etc for free.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;One can create his own channel and others can subscribe to it and can share important information related to their group. For creating such channel you need Google account. when you start your own channel you are supposed to provide your Moblie No (Cell No)and you will receive one code. After receiving that code enter that code and start channel. you have privileges to restrict others from spamming on group.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Google SMS Channel is similar to &lt;a href="http://www.mytoday.com/"&gt;Mytoday group &lt;/a&gt;which sends message to number of  users who have subscribed to it. &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;a href="http://www.160by2.com/"&gt;www.160by2.com&lt;/a&gt; and &lt;a href="http://www.way2sms.com/"&gt;www.way2sms.com&lt;/a&gt; are service providers that allow one to send SMS for free in India.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;This is still in initial stage but gradually it will become part of everyone's life, just like Google. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Feel the music, Enjoy life !! &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-8476126487347474336?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Z9Dgc5sX_Cc:4WQGaMs_wRw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Z9Dgc5sX_Cc:4WQGaMs_wRw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=Z9Dgc5sX_Cc:4WQGaMs_wRw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Z9Dgc5sX_Cc:4WQGaMs_wRw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Z9Dgc5sX_Cc:4WQGaMs_wRw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=Z9Dgc5sX_Cc:4WQGaMs_wRw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=Z9Dgc5sX_Cc:4WQGaMs_wRw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/Z9Dgc5sX_Cc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/Z9Dgc5sX_Cc/google-sms-channel.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>2</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2008/11/google-sms-channel.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-4478840716651232949</guid><pubDate>Mon, 13 Oct 2008 09:12:00 +0000</pubDate><atom:updated>2011-09-15T01:11:36.946+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Updatepanel</category><category domain="http://www.blogger.com/atom/ns#">Asp.net Ajax</category><title>Validation in Updatepanel</title><description>&lt;div  style="text-align: justify;font-family:verdana;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;I am writing this post about  how to use validation controls with asp.net updatepanel control after seeing lots of posts in asp.net forums, Orkut communities of asp.net that their validation controls do not work inside update panel.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;To resolve this error, add the tagmapping section in web.config file of your project like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;tagMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:black;"&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.CompareValidator"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.CompareValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.CustomValidator"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.CustomValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.RangeValidator"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.RangeValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.RegularExpressionValidator"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.RegularExpressionValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.RequiredFieldValidator"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.RequiredFieldValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;&lt;span style="color:red;"&gt; tagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="System.Web.UI.WebControls.ValidationSummary"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:red;"&gt;        mappedTagType&lt;/span&gt;&lt;span style="color:blue;"&gt;="Sample.Web.UI.Compatibility.ValidationSummary, Validators, Version=1.0.0.0"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;tagMapping&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;For more information you can refer &lt;span style="font-weight: bold;"&gt;Scottgu's post &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" href="http://weblogs.asp.net/scottgu/archive/2007/01/25/links-to-asp-net-ajax-1-0-resources-and-answers-to-some-common-questions.aspx"&gt;&lt;strong&gt;&lt;u&gt;Common Gotcha: Validation Controls used within the &lt;asp:updatepanel&gt; control&lt;/asp:updatepanel&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; and Matt Gibbs post &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" href="http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx"&gt;ASP.NET AJAX Validators&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Happy Programming.. ;)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-4478840716651232949?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=SDIR1KcASN0:sFrmx7GvkLQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=SDIR1KcASN0:sFrmx7GvkLQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=SDIR1KcASN0:sFrmx7GvkLQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=SDIR1KcASN0:sFrmx7GvkLQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=SDIR1KcASN0:sFrmx7GvkLQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=SDIR1KcASN0:sFrmx7GvkLQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=SDIR1KcASN0:sFrmx7GvkLQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/SDIR1KcASN0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/SDIR1KcASN0/validation-in-updatepanel.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>0</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2008/10/validation-in-updatepanel.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-645092693690783735.post-7167277320346399838</guid><pubDate>Wed, 24 Sep 2008 08:50:00 +0000</pubDate><atom:updated>2011-09-15T01:11:13.220+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Web 2.0</category><title>Web 2.0</title><description>&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Hello everyone, this is my first post and here i am going to write nothing new and you might have come across similar kind of post related to Web 2.0 in the ocean of internet while surfing but for many people this is something new because they are beginner and didn't try to know about it so let's start with it. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:180%;"&gt;what is web 2.0?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;Web 2.0 is not a technology but it does indicate changing trends in the use  of world wide web and web design that aims to enhance creativity, information sharing and most notably collaboration among users.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:times new roman;font-size:130%;"  &gt;Buzzwords of Web 2.0 :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;Rich Internet Application (RIA) :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;It provides desktop experience  in browser from the graphical point of view or drag and drop functionality.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;RIA can be developed with Flash, Ajax, Flex.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Service Oriented Architecture (SOA) :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;It integrate other application with existing applications or user services which leverage existing applications and provide much better functionality.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;It can be achieved with Feeds, RSS, Web Services&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;mashup.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Social Web&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;User is not only the end user of the application but he interacts  with the application, provides feedback, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;owns the data.&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Examples : Tagging, Podcasting, Wiki, Blogging, Orkuting and so on.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;Key Technologies of Web 2.0:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Ajax&lt;/span&gt; : &lt;span style="font-size:85%;"&gt;Asynchronous Javascript and Xml.  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;You will find detailed information about it in my next post of Ajax.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Web Services&lt;/span&gt;: &lt;/span&gt;&lt;span style="font-size:85%;"&gt;Web Services are key part of web 2.0. It leverage application by providing services that can be used with any programming language.&lt;/span&gt; &lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;It is Iterative: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;One can add new feature, edit, update existing feature even though it is used by many users.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:times new roman;"&gt;Video for Web 2.0 :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6gmP4nk0EOE&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/6gmP4nk0EOE&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/645092693690783735-7167277320346399838?l=nilthakkar.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=r0lC5FjNiGw:he8N9wdAhC8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=r0lC5FjNiGw:he8N9wdAhC8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=r0lC5FjNiGw:he8N9wdAhC8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=r0lC5FjNiGw:he8N9wdAhC8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=r0lC5FjNiGw:he8N9wdAhC8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?i=r0lC5FjNiGw:he8N9wdAhC8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?a=r0lC5FjNiGw:he8N9wdAhC8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/NilThakkar?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/NilThakkar/~4/r0lC5FjNiGw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/NilThakkar/~3/r0lC5FjNiGw/web-20.html</link><author>noreply@blogger.com (Nilesh)</author><thr:total>3</thr:total><feedburner:origLink>http://nilthakkar.blogspot.com/2008/09/web-20.html</feedburner:origLink></item></channel></rss>

