<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Dimitar Kapitanov's blog</title>
    <description>Dimitar Kapitanov's blog</description>
    <link>http://blogs.telerik.com/DimitarKapitanov/Posts.aspx</link>
    <docs>http://backend.userland.com/rss</docs>
    <item>
      <title>PNDs, UMPCs, MIDs - what's it all about?</title>
      <description>&lt;p&gt;Let me clarify first that the title is a bit misleading. You may think that the story will comment on these devices in general, but you are wrong :). I will comment &lt;a href="http://www.nvidia.com/page/handheld.html"&gt;NVidia&lt;/a&gt;'s* entry in the handheld and portable devices business in particular, and what it means for the whole industry. Will they shape the landscape the way they did in the &lt;a href="http://en.wikipedia.org/wiki/Graphics_processing_unit"&gt;GPU&lt;/a&gt; market? Why is this event important enough to compel a guy that develops software to blog about hardware? Why the &lt;a href="http://www.nvidia.com/page/pg_20050719919672.html"&gt;Nvidia Tegra&lt;/a&gt;? Why not the &lt;a href="http://www.engadget.com/2008/04/25/the-second-gen-iphone-3g-gps-only-slightly-thicker/"&gt;IPhone 3G&lt;/a&gt;? Or the &lt;a href="http://htc-diamond.com/"&gt;HTC Diamond&lt;/a&gt;? A lot of tough questions to answer and I will try my best to give you a reasonable answer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PNDs, UMPCs, MIDs - the common issues&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Whether it is a &lt;a href="http://en.wikipedia.org/wiki/Personal_navigation_device"&gt;PND&lt;/a&gt; (Personal Navigation Device),&amp;nbsp; &lt;a href="http://en.wikipedia.org/wiki/Mobile_Internet_Device"&gt;MID&lt;/a&gt; (Mobile Internet Device) or &lt;a href="http://en.wikipedia.org/wiki/Umpc"&gt;UMPC&lt;/a&gt; (Ultra-Mobile PC) or any other fancy acronym, the key goal of these devices is MOBILITY. One should be able to connect from various places, using various carriers, based on different technologies such as WiFi/Max, GPRS &amp;nbsp;and 3G. Furthermore, it should feature positioning , and be able to use geospatial data based on &lt;a href="http://en.wikipedia.org/wiki/Global_Positioning_System"&gt;GPS&lt;/a&gt; , &lt;a href="http://www.esa.int/esaNA/galileo.html"&gt;Galileo&lt;/a&gt; or &lt;a href="http://www.glonass-ianc.rsa.ru/pls/htmldb/f?p=202:1:4560502264575458796"&gt;GLONASS&lt;/a&gt;, accept and broadcast live HD video. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Tegra device" src="/Libraries/MetaBlog/nvidia2.sflb" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;UI intensive applications demand a powerful CPU, while &amp;nbsp;being truly mobile relies on low energy consumption. &amp;nbsp;Sadly, these two &amp;nbsp;qualities are mutually exclusive - the higher the frequency and the intensity of calculations processed by the CPU, the higher the amount of charge drained from the energy source. Furthermore, as we all know, advances in battery technology does not follow &lt;a href="http://en.wikipedia.org/wiki/Moore%27s_law"&gt;Moore's law&lt;/a&gt;, so ultra-compact and über-powerful energy sources are not expected anytime soon. This leaves us to attack the problem from the opposite end: to conserve as much energy as possible. For this purpose, a number of energy saving techniques have been developed, but frankly speaking, ALL of them have a negative impact on CPU performance. Well that's the tradeoff folks, as they say, there is no such thing as a free lunch. Reducing the power consumption and extending the operational state of the device, comes with lower CPU productivity, and ultimately results in a less vibrant user experience and sluggish graphics. It might even render some applications virtually unacceptable for MIDs (e.g. high-end medical applications). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, what's so special about the Tegra device, and can it deliver? Why not a ü(ber)Phone?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img alt="Tegra logo" src="/Libraries/MetaBlog/nvidia3.sflb" /&gt;&lt;/p&gt;
&lt;p&gt;Don't get me wrong about all the *Phones - they are marvelous devices, a huge leap in UX, but they still are today's technology, while here the story goes about what comes tomorrow. An important difference is that the NVidia Tegra is a &lt;a href="http://en.wikipedia.org/wiki/System-on-a-chip"&gt;SoC&lt;/a&gt; (System on a Chip) while the IPhone, or the HTC Diamond for example are consumer devices. Still, keep in mind that consumer products are built on chipsets and CPUs. By highlighting this new technology the good guys and gals at NVidia brought to us, I am lifting the curtain and revealing to you what the next generation mobile devices will most probably look like.&lt;/p&gt;
&lt;p&gt;Their architecture is &lt;a href="http://www.arm.com/"&gt;ARM&lt;/a&gt; based, which gives a complete energy saving technology stack far better than the one the x86 architecture has to offer (even in its &lt;a href="http://www.arm.com/"&gt;Atom&lt;/a&gt; incarnation). Furthermore, the ARM processor core provides Virtual Machine optimized instructions and a &lt;a href="http://en.wikipedia.org/wiki/SIMD"&gt;SIMD&lt;/a&gt; instruction set that is most suitable for multimedia applications. All of this, combined with NVidia's low-micron fabrication process, it makes for a significant advantage. &lt;/p&gt;
&lt;p&gt;You can see a &lt;a href="http://www.youtube.com/watch?v=XXYshhuJzh4&amp;amp;feature=related"&gt;sample&lt;/a&gt; of how NVIDIA Tegra packs more punch for less consumed power (or so they claim).&amp;nbsp; What really amazed me is the demo UI interface that NVidia calls &lt;a href="http://www.youtube.com/watch?v=nD4SrVZlcig&amp;amp;feature=related"&gt;RayGun Navigator&lt;/a&gt; (any resemblance with a game?) which clearly demonstrates the GPU capabilities (HD video, smooth animations, physics effects such as particles, optical effects). In additional, you can have a full flavored &lt;a href="http://www.youtube.com/watch?v=_p69T3cWHBs"&gt;3D rendering&lt;/a&gt;.&lt;/p&gt;
Well, so much for the info that has publicly been released so far. Nevertheless, expect more, as I will be monitoring this technology closely and will be posting updates here.
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;*  The names of actual companies and products mentioned herein may
be the trademarks of their respective owners. &lt;/p&gt;
&lt;br /&gt;
</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/08-06-26/PNDs_UMPCs_MIDs_what_s_it_all_about.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/08-06-26/PNDs_UMPCs_MIDs_what_s_it_all_about.aspx</comments>
      <guid isPermaLink="false">9264a992-740c-4f91-a9d8-6e92db78f48e</guid>
      <pubDate>Thu, 26 Jun 2008 09:22:06 GMT</pubDate>
    </item>
    <item>
      <title>RadControls for Windows Forms Q2 2007 BETA Available.</title>
      <description>Many days passed since my &lt;a href="http://blogs.telerik.com/blogs/dimitar_kapitanov/archive/2007/06/01/1673.aspx"&gt;last post &lt;/a&gt;(which is rather interesting and concerns the MS Surface technologies) but now I have the opportunity to justify why: &lt;a href="http://www.telerik.com/community/forums/thread/b311D-htmdd.aspx"&gt;&lt;strong&gt;Beta release of RadControls for WinForms Q2 2007 was on the way!&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;We introduced only one new component - the &lt;a href="http://blogs.telerik.com/blogs/boyko_markov/archive/2007/09/05/3469.aspx"&gt;RadCalendar for WinForms&lt;/a&gt;, but please do not underestimate the release: all our components contain very serious improvements like RTL language support, hierarchy support, documentation, etc. Let me draw some aces on the table:&lt;br&gt;&lt;br&gt;&lt;strong&gt;Major redesign of our QuickStart Framework:&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/kapitanov/Qsf.jpg"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/strong&gt;Yes, it is more beautiful and has greater usability than ever! It has been completely redesigned to offer the latest visuals, following the recent Vista craze. And I like it for sure :)&lt;br&gt;&lt;br&gt;At the bottom left end of the form you will notice a sneak peak of our &lt;strong&gt;future Rotator component&lt;/strong&gt;. Currently it rotates previews of our sample applications that we will provide with our release. When you click on the preview you will be redirected to the &lt;a href="http://www.telerik.com/community/open-source-projects.aspx"&gt;Open Source Projects page &lt;/a&gt;where you can download the applications.&lt;br&gt;&lt;br&gt;While having the good old treeview at the left-hand side, the biggest addition to the application is the Carousel control that exposes all "must see" examples for every product category. While it is not "filled up" for the &lt;a href="http://www.telerik.com/community/forums/thread/b311D-htmdd.aspx"&gt;&lt;strong&gt;BETA&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;), it will be ready for the final release. &lt;br&gt;&lt;br&gt;The Carousel component is inspired from similar WPF implementations, and supports animation and transition effects to display our featured examples. It is built on top of&amp;nbsp; &lt;strong&gt;Telerik Presentation Framework (TPF)&lt;/strong&gt; and showcases the magnitude that can be achieved with GDI+ and Telerik Windows Forms. &lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/kapitanov/Carousel.gif"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Speaking of &lt;strong&gt;"featured examples"&lt;/strong&gt; one thing you &lt;strong&gt;MUST &lt;/strong&gt;see is our &lt;strong&gt;Photo Album example&lt;/strong&gt;, which emulates &lt;a href="http://blogs.telerik.com/blogs/dimitar_kapitanov/archive/2007/06/01/1673.aspx"&gt;Surface computing experience&lt;/a&gt;. I must admit that creating the Photo Album would be a developer's nightmare without using &lt;strong&gt;TPF&lt;/strong&gt;, which makes development much easier and fun! Enjoy the benefits of using our TPF technology!&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/kapitanov/Surface.jpg"&gt;&lt;br&gt;&lt;br&gt;There are a lot more things to say about this &lt;a href="http://www.telerik.com/community/forums/thread/b311D-htmdd.aspx"&gt;&lt;strong&gt;BETA &lt;/strong&gt;&lt;/a&gt;like the calendar control, the hierarchy supported now in RadGridView, the RTL support of calendar and treeview, the blazing performance of loading nodes in RadTreeview, but it will be a matter of a whole separate post about our new components and features and the value they provide.&lt;br&gt;&lt;br&gt;Also just to remind you&amp;nbsp;that prior to our official BETA release we released a &lt;a href="http://www.telerik.com/community/forums/allthreads/b312H-cdc.aspx"&gt;BETA of the Telerik CAB Enabling Kit&lt;/a&gt;. We have a descent and mature release that demonstrates most of our controls in CAB. We prepared a LOB financial application as a sample for our Telerik CAB Enabling Kit. You can read more on the topic &lt;a href="http://blogs.telerik.com/blogs/iordan_pavlov/archive/2007/08/23/3272.aspx"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;.&lt;br&gt;&lt;br&gt;So have fun and give the new&amp;nbsp;&lt;a href="http://www.telerik.com/community/forums/thread/b311D-htmdd.aspx"&gt;RadControls for WinForms&amp;nbsp;BETA&lt;/a&gt; a spin. We need your feedback!&lt;br&gt;</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/07-09-05/RadControls_for_Windows_Forms_Q2_2007_BETA_Available.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/07-09-05/RadControls_for_Windows_Forms_Q2_2007_BETA_Available.aspx</comments>
      <guid isPermaLink="false">e23bba59-30b9-434a-812f-8534e2ce354a</guid>
      <pubDate>Wed, 05 Sep 2007 19:13:00 GMT</pubDate>
    </item>
    <item>
      <title>New hardware surfacing from Redmond</title>
      <description>It went public at 12:01 a.m. on May 30 - Microsoft&amp;#174; revealed the outcome of "&lt;a href="http://gizmodo.com/gadgets/project-milan/"&gt;Project Milan&lt;/a&gt;" now branded as Microsoft Surface&amp;#8482; and scheduled to debut in November this year. The nature of the project is a "&lt;em&gt;multi-touch, gestural- and object-recognition interface technology on which Microsoft has been laboring for the past few years&lt;/em&gt;".&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/surface1.JPG"&gt;&lt;br&gt;&lt;br&gt;Named "Surface" and five years in the making, it's set to establish a paradigm of what Microsoft calls "surface computers" which use touch as the sole method of input. The goal is to deliver a hardware/software platform very close to the people and to weave the technology into the texture of everyday life. What is about to happen is clearly demonstrated by &lt;a href="http://www.ted.com/index.php/talks/view/id/65"&gt;Jeff Han&lt;/a&gt;&amp;nbsp;in his talk about the &lt;a href="http://www.ted.com/index.php/talks/view/id/65"&gt;genius of multi-touch interface design&lt;/a&gt;. The interest in this bleeding edge technology is very strong all around the industry as most of the major players believe it will bring a whole new way of using software/hardware technology to the market. In this quest the Redmond giant is not alone as hardware makers like Hewlett-Packard and &lt;a href="http://www.research.philips.com/initiatives/entertaible/index.html"&gt;Philips&lt;/a&gt;&amp;nbsp;have publicly and independently (&lt;a href="http://www.youtube.com/watch?v=SD9HXRWIHPw&amp;amp;feature=PlayList&amp;amp;p=461ED830D6FB8BCA&amp;amp;index=5"&gt;a brief demonstration of Philips Entertaible concept&lt;/a&gt;) demonstrated their own approaches to delivering surface-computing and gesture-recognition. Eon Reality, the 3D and virtual-reality software vendor which licensed Microsoft's Touchlight technology last year, offers a product called &lt;a href="http://www.eonreality.com/eon-products.html"&gt;Eon Touchlight&lt;/a&gt;. As it is obvious that advanced UI interfaces require advanced hardware (not only for the presentation part but also for the human interaction interface)&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/surface2.JPG"&gt;&lt;br&gt;&lt;br&gt;more and more products from different vendors that are based on surface computing paradigm will emerge into the market. I believe introducing such hardware is part of the strategy at Redmond to bring the technology closer to the people, to make it far easier to use it and create content, even software for non-it specialists. On the software front it combines with recent MS presentation technology both for Windows (&lt;a href="http://windowsclient.net/Default.aspx"&gt;WPF&lt;/a&gt;) and the &lt;a href="http://silverlight.net/Default.aspx"&gt;Internet&lt;/a&gt;&amp;nbsp;which allows the development of a very rich presentation layer not by developers, but by the people that &lt;a href="http://www.microsoft.com/expression/"&gt;understand UX most&lt;/a&gt;. It is obvious that the Surface&amp;#8482; product line will be marketed as consumer electronics products where Microsoft delivers all the software artifacts and services, a question is rising whether the company is becoming more and more "&lt;a href="http://blogs.zdnet.com/microsoft/?p=484"&gt;hardware oriented&lt;/a&gt;". While presenting a whole pile of new game consoles, media players keyboards and mice the officials answer to this question is "NO". We will be monitoring the development of surface computing further.</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/07-05-31/New_hardware_surfacing_from_Redmond.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/07-05-31/New_hardware_surfacing_from_Redmond.aspx</comments>
      <guid isPermaLink="false">6760c2d0-b21f-4c9f-b1e0-61cbefab9859</guid>
      <pubDate>Thu, 31 May 2007 12:02:00 GMT</pubDate>
    </item>
    <item>
      <title>Origami: the next Big Small thing.</title>
      <description>&lt;p&gt;&lt;strong&gt;Will Microsoft take on Apple and Palm with its all-in-one consumer/business ultra-portable device?&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Well, you've probably heard the news already - Microsoft is entering the persona-portble-cool-weired-widgets market with their own device. The device code named Origami (official name is UMPC which is spelled out like &lt;strong&gt;U&lt;/strong&gt;ltra &lt;strong&gt;M&lt;/strong&gt;obile &lt;strong&gt;PC&lt;/strong&gt;) is very compact all-in-one information device that is targeted as an iPod, Palm and BlackBerry competition. Origami sounds way cooler than UMPC though (I keep asking myself why the guys at MS are giving great code names like Indigo, Avalon and Origami, and the official naming is almost unpronounceable like WPF, WCF, UMPC, etc. ), so I'll be mostly using the code name here. So where is the Origami project being developed? In MS research labs or in the marketing department? It looks like both are true:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.telerik.com/photos/storage/origami_top.jpg"&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Microsoft hides neither its &lt;a href="http://www.apple.com/ipod/"&gt;iPod&lt;/a&gt; envy nor its lack of satisfaction with the Portable Media Center devices its partners have been producing. And no one from Redmond has denied reports that Microsoft has plans to get into the business of &lt;a href="http://www.microsoft-watch.com/article2/0,2180,1916096,00.asp"&gt;building its own family of iPod killers.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But I' am betting Microsoft won't classify Origami devices as an MP3 player... Instead, Microsoft will convince its wizards in the market-research business to create a whole new category of all-in-one mobile communicators (better than &lt;a href="http://www.t-mobile.com/shop/phones/Detail.aspx?device=154e9bca-a74c-4299-99eb-48a1159c922b&amp;amp;WT.srch=2"&gt;Sidekicks&lt;/a&gt;; more comprehensive than &lt;a href="http://www.palm.com/us/products/smartphones/"&gt;Treos&lt;/a&gt;; able to leap even &lt;a href="http://www.blackberry.com/"&gt;BlackBerries&lt;/a&gt; in a single bound!) &lt;/p&gt;
&lt;p&gt;What's your take? Is it time for Apple, Palm and others to get some fresh competition? And is Microsoft the right company to deliver an all-in-one soaped-up device of this sort? Or are we way off-base in our educated guess that Origami will morph into a family of OrPods (OrigamiPods)?&lt;/p&gt;
&lt;p&gt;By the way they have few (to be more precise three) flash introductory commercials. They are very stylish and I got involved from the moment I saw them, take a look. &lt;a href="http://www.origamiproject.com/1/"&gt;Commercial One&lt;/a&gt;, &lt;a href="http://www.origamiproject.com/2/"&gt;Commercial Two&lt;/a&gt; and &lt;a href="http://www.origamiproject.com/3/"&gt;Commercial Three&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For those of you who already got hooked up, Microsoft announced a &lt;a href="http://origamiproject.com/contest/contest.aspx"&gt;real deal contest&lt;/a&gt;, the winners are getting a bundle of Origami devices produced by &lt;a href="http://www.samsung.com/"&gt;Samsung&lt;/a&gt; and a &lt;b&gt;&lt;a href="http://www.slingmedia.com/"&gt;Slingbox&amp;#8482;&lt;/a&gt;&lt;/b&gt;&lt;b&gt; by SlingMedia. The only thing you have to do is &lt;/b&gt;write an essay (no more than 250 words!) and being a legal resident of the 50 United States, and District of Columbia.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.telerik.com/photos/storage/Samsung_contest.jpg"&gt;&amp;nbsp;&lt;img src="http://blogs.telerik.com/photos/storage/slingbox_contest.jpg"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;To recap, the device known as &lt;a href="http://origamiproject.com/"&gt;Origami/Haiku&lt;/a&gt; &lt;/b&gt;has a bright and interesting future as this &lt;a href="http://seattletimes.nwsource.com/html/businesstechnology/2002898672_origami30.html"&gt;article at the Seattle News&lt;/a&gt; clearly shows, so we will monitor closely the activities there. Expect nothing less than turning the mobile devices market upside-down when a player like Microsoft creates a new market niche with a high-tech device like Origami. And by the way the Origami team got a &lt;a href="http://origamiproject.com/blogs/team_blog/default.aspx"&gt;nice blog&lt;/a&gt; where you can read very interesting things, like the &lt;a href="http://origamiproject.com/blogs/team_blog/archive/2006/03/08/6.aspx"&gt;History of Origami by Otto&lt;/a&gt; (five parts for now).&lt;b&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/06-04-20/Origami_the_next_Big_Small_thing.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/06-04-20/Origami_the_next_Big_Small_thing.aspx</comments>
      <guid isPermaLink="false">f1692914-f0d8-482b-8149-e31f27ed1905</guid>
      <pubDate>Thu, 20 Apr 2006 18:34:00 GMT</pubDate>
    </item>
    <item>
      <title>Creating a simple code snippet in Visual Studio 2005 - Part II</title>
      <description>Hi All,&lt;br&gt;This is the second installment of the series "Code snippets in Visual Studio 2005". Well it has been quite a while since&amp;nbsp;I updated&amp;nbsp;my blog. My apologies, I think we all got too wrapped up in developing our new products and preparation of Q1 2006 release&amp;nbsp;to remember to keep writing. However now I (having the time) intend to do just that.&lt;br&gt;&lt;br&gt;
&lt;p&gt;So creating a code snippet is a relatively easy task, however I will make a real case to demonstrate the creation process (refresh your mind on the topic &lt;a href="http://blogs.telerik.com/blogs/dimitar_kapitanov/archive/2006/02/22/134.aspx"&gt;here&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;- First create a text file (with your preferred editor, mine is Notepad) with a &lt;b&gt;.snippet&lt;/b&gt; extension.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;- Now open the saved text file (it will be actually an XML file) and after careful review of the Code Snippets Schema Reference ( &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171418.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms171418.aspx&lt;/a&gt; ), we are ready to proceed further.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The file must provide a valid XML schema in the first line so we will begin by declaring:&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;lt;CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"&amp;gt;&lt;br&gt;&lt;/b&gt;[ code snippet content here]&lt;br&gt;&lt;b&gt;&amp;lt;/CodeSnippets&amp;gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Inside the CodeSnippets section we declare the snippet container as follows:&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"&amp;gt;&lt;/strong&gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;lt;CodeSnippet Format="1.0.0"&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ code snippet content here]&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/CodeSnippet&amp;gt;&lt;br&gt;&amp;lt;/CodeSnippets&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Then we proceed by declaring a header section&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"&amp;gt;&lt;br&gt;&amp;lt;CodeSnippet Format="1.0.0"&amp;gt;&lt;/strong&gt;&lt;br&gt;&lt;b&gt;&amp;lt;Header&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Title&amp;gt;&lt;/b&gt;&lt;b&gt;Telerik sample snippet&lt;/b&gt;&lt;b&gt;&amp;lt;/Title&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Shortcut&amp;gt;ItemCommand&amp;lt;/Shortcut&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;lt;/Header&amp;gt;&lt;br&gt;&lt;/b&gt;[ code snippet content here]&lt;br&gt;&lt;strong&gt;&amp;lt;/CodeSnippet&amp;gt;&lt;br&gt;&amp;lt;/CodeSnippets&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;* The shortcut element is used for easier insertion of the code snippet - type &lt;br&gt;"ItemCommand" and press Tab to insert the code snippet in a VB.NET project, or press Tab twice if in C# project. &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And the real code snippet goes to the Snippet section:&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;CodeSnippet Format="1.0.0"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Header&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Title&amp;gt;Telerik sample snippet&amp;lt;/Title&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Header&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Snippet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;References&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Reference&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Assembly&amp;gt;System.Windows.Forms.dll&amp;lt;/Assembly&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Reference&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/References&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Code Language="VB"&amp;gt;&lt;br&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;![CDATA[MessageBox.Show("Hello World")]]&amp;gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Code&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Snippet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/CodeSnippet&amp;gt;&lt;br&gt;&amp;lt;/CodeSnippets&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There you can implement References section (only Visual Basic supports this section) &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;Snippet&amp;gt;&lt;br&gt;&amp;lt;References&amp;gt;&lt;br&gt;&amp;lt;Reference&amp;gt;&lt;br&gt;&amp;lt;Assembly&amp;gt;System.Xml.dll&amp;lt;/Assembly&amp;gt;&lt;br&gt;&amp;lt;/Reference&amp;gt;&lt;br&gt;&amp;lt;/References&amp;gt;&lt;br&gt;&amp;lt;Code Language=" CSharp"&amp;gt;&lt;br&gt;&amp;lt;/Code&amp;gt;&lt;br&gt;&amp;lt;/Snippet&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;.the Imports section which is very useful if one wants to include commonly used namespaces, say Telerik.WebControls, Telerik.WebControls.UI:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;Snippet&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Imports&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt;Telerik.WebControls&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt; Telerik.WebControls.UI&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Imports&amp;gt;&amp;nbsp;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Code Language=" CSharp"&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Code&amp;gt;&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;&amp;lt;/Snippet&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;* There must be exactly one Namespace element in an Import element&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;... and Code section ( in a specified language supported by the CLR). I will use code for a common scenario regarding the usage of &lt;b&gt;Custom Item Commands&lt;/b&gt; in our &lt;b&gt;r.a.d.grid&lt;/b&gt; component:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;Snippet&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Imports&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt;Telerik.WebControls&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt; Telerik.WebControls.UI&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Imports&amp;gt;&amp;nbsp;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Code Language="&lt;b&gt; CSharp&lt;/b&gt;"&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;![CDATA[&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected void RadGrid1_ItemCommand(object source, Telerik.WebControls.GridCommandEventArgs e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "EditSelected")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.SelectedIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.SelectedItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Edit = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "UpdateEdited")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.EditIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.EditItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RadGrid1.MasterTableView.PerformUpdate(item, true);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "DeleteSelected")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.SelectedIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.SelectedItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.PerformDelete(item, true);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "CancelAll")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.EditItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Edit = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.IsItemInserted = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]]&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Code&amp;gt;&lt;br&gt;&amp;lt;/Snippet&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;(Supported languages are &lt;b&gt;VB,&lt;/b&gt; &lt;b&gt;CSharp&lt;/b&gt;, &lt;b&gt;VJSharp&lt;/b&gt;, and &lt;b&gt;XML&lt;/b&gt;&lt;b&gt;). &lt;/b&gt;Also all snippet code must be placed between &lt;b&gt;&amp;lt;![CDATA[ &lt;/b&gt;and &lt;b&gt;]]&amp;gt;&lt;/b&gt; brackets.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;So finally here is the complete code:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"&amp;gt;&lt;br&gt;&amp;lt;CodeSnippet Format="1.0.0"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Header&amp;gt;&lt;/strong&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Title&amp;gt;Telerik sample snippet&amp;lt;/Title&amp;gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Header&amp;gt;&lt;br&gt;&amp;lt;Snippet&amp;gt;&lt;/strong&gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Imports&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt;Telerik.WebControls&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Import&amp;gt;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Namespace&amp;gt; Telerik.WebControls.UI&amp;lt;/Namespace&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Import&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Imports&amp;gt;&amp;nbsp;&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Code Language="&lt;b&gt; CSharp&lt;/b&gt;"&amp;gt;&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;![CDATA[&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected void RadGrid1_ItemCommand(object source, Telerik.WebControls.GridCommandEventArgs e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "EditSelected")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.SelectedIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.SelectedItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Edit = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "UpdateEdited")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.EditIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.EditItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RadGrid1.MasterTableView.PerformUpdate(item, true);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "DeleteSelected")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (RadGrid1.SelectedIndexes.Count == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.SelectedItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.PerformDelete(item, true);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.CommandName == "CancelAll")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (GridDataItem item in RadGrid1.EditItems)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Edit = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.IsItemInserted = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Item.OwnerTableView.Rebind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]]&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Code&amp;gt;&lt;br&gt;&amp;lt;/Snippet&amp;gt;&lt;br&gt;&amp;lt;/CodeSnippet&amp;gt;&lt;br&gt;&amp;lt;/CodeSnippets&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/strong&gt;Additional reading: &lt;br&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms165396.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms165396.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/wy5tazc9.aspx"&gt;http://msdn2.microsoft.com/en-us/library/wy5tazc9.aspx&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/06-03-21/Creating_a_simple_code_snippet_in_Visual_Studio_2005_Part_II.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/06-03-21/Creating_a_simple_code_snippet_in_Visual_Studio_2005_Part_II.aspx</comments>
      <guid isPermaLink="false">51282a4f-127e-4842-b379-e8750cc9249d</guid>
      <pubDate>Tue, 21 Mar 2006 10:24:00 GMT</pubDate>
    </item>
    <item>
      <title>Code snippets in Visual Studio 2005 - Part I</title>
      <description>&lt;p&gt;Many folks are bashing VS2005 but there are some really great things&amp;nbsp;the folks at MS have added for us in VS2005. One of my personal favorites is the code snippets mechanism. I personally find this feature to be kind of underestimated and will try to give you some basic knowledge about what code snippets in VS2005 are, how to manage them, how to find new, and of course how to "do it yourself" &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;By definition code snippets are referred to as " IntelliSense Code Snippets" - by nature they are reusable, task-oriented blocks of code, encapsulated in a XML file with a specific format. Visual Studio 2005 includes code snippets that cover broad range of tasks &lt;br&gt;ranging from creating a custom exception, to drawing a circle, to refactoring the written code (yes, to my surprise the refactoring is organized into code snippets too). A set of Visual Basic and Visual C# Code Snippets are included in the Visual Studio 2005 box - additional Code Snippets can be found at &lt;a href="http://msdn.microsoft.com/vstudio/downloads/codesnippets/default.aspx"&gt;http://msdn.microsoft.com/vstudio/downloads/codesnippets/default.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How to get started with code snippets?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;After selecting the desired category at the above-mentioned URL and accepting the Microsoft Permissive License, the browser prompts to download the &lt;em&gt;Visual Studio Community Content Installer file. &lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/SnipFig1.jpg"&gt;&lt;br&gt;&lt;br&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The small application that is downloaded and executed, installs the desired code snippets, using a wizard-like procedure:&lt;br&gt;&lt;br&gt;- First select which code snippets will be installed &lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/SnipFig2.jpg"&gt;&lt;br&gt;&lt;br&gt;- Then the next step is to select the code snippets and their location on your local disk (the snippets are contained in special code snippet directories, managed by VS2005)&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.telerik.com/photos/storage/SnipFig4.jpg"&gt;&lt;br&gt;&lt;br&gt;All the management, including adding new snippets directories to the search path is managed through the Code Snippets Manager. More information on Code Snippets Manager could be found at: &lt;a href="http://msdn2.microsoft.com/en-us/library/wy5tazc9.aspx"&gt;http://msdn2.microsoft.com/en-us/library/wy5tazc9.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;Everything on Code Snippets management is at &lt;a href="http://msdn2.microsoft.com/en-us/library/9ybhaktf.aspx"&gt;http://msdn2.microsoft.com/en-us/library/9ybhaktf.aspx&lt;/a&gt;. Also don't miss the &lt;a href="http://msdn2.microsoft.com/en-us/library/dh6380ay.aspx"&gt;Best Practices for Using IntelliSense Code Snippets&lt;/a&gt;.&lt;br&gt;&lt;br&gt;In part&amp;nbsp;two I will demonstrate how to create a simple code snippet that helps writing code for &lt;a href="http://www.telerik.com/r.a.d.controls/Grid/Examples/Programming/CommandItem/DefaultCS.aspx"&gt;r.a.d.grid's&lt;/a&gt; custom CommandItem feature...&lt;/p&gt;</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/06-02-21/Code_snippets_in_Visual_Studio_2005_Part_I.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/06-02-21/Code_snippets_in_Visual_Studio_2005_Part_I.aspx</comments>
      <guid isPermaLink="false">7b64b185-1438-45c8-97f8-d944a157d02f</guid>
      <pubDate>Tue, 21 Feb 2006 17:54:00 GMT</pubDate>
    </item>
    <item>
      <title>The (TextBox) loss of text conspiracy</title>
      <description>&lt;p&gt;While working on AJAX support for r.a.d.calendar, one of our relatively new controls, I came across a very interesting issue with the ASP.NET TextBox control. The problem was related to ViewState management, or better said, the absence of such. The TextBox simply didn't seem to handle any ViewState information and the TextBox values were not persisted and reloaded correctly after PostBack. &lt;/p&gt;&lt;p&gt;What I was doing wasn't rocket science - I wanted to make the TextBox (System.Web.UI.WebControls.TextBox) persist its value when the user scrolls forward or backward through the month views. My first thought was that I'm brain-dead and have had too much cups of coffee. The second thing that came to my mind was that there may be a problem with the ViewState management. Everything was just fine and worked correctly, and only few types of controls were showing that type of behavior so I quickly had to dismiss this possibility as well.&lt;/p&gt;&lt;p&gt;It was hard to swallow this random behavior and I started poking around to find the roots of that evil. I debugged the code and saw a private property SaveTextViewState, which is not documented anywhere, but looked suspicious. What made things even more interesting was that the values of the TextBoxes inside the calendar were false.&lt;/p&gt;&lt;p&gt;After googling I found that this is the property that controls the saving of the content e.g. the text in the ViewState. When the property is set to "false" no content is persisted in the ViewState:&lt;/p&gt;&lt;p&gt;&lt;em&gt;SaveTextViewState property is used to prevent saving the Text property value into ViewState when TextBox is in password mode, or when its TextChanged event has no listeners (that is, no event handlers wired) while TextBox is in use (enabled, visible). &lt;/em&gt;&lt;/p&gt;&lt;p&gt;Using Lutz Roeder's Reflector I managed to find a little bit more information than is mentioned in the documentation:&lt;/p&gt;&lt;pre&gt;&lt;p&gt;&lt;span class="blue"&gt;private bool SaveTextViewState&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.TextMode == &lt;strong&gt;TextBoxMode.Password&lt;/strong&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (((base.Events[&lt;strong&gt;TextBox.EventTextChanged&lt;/strong&gt;] == null) &amp;amp;&amp;amp; &lt;strong&gt;base.IsEnabled&lt;/strong&gt;) &amp;amp;&amp;amp; (&lt;strong&gt;this.Visible &lt;/strong&gt;&amp;amp;&amp;amp; (&lt;strong&gt;&lt;font&gt;base.GetType() == typeof(TextBox))&lt;/font&gt;&lt;/strong&gt;))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;In a nutshell - the textbox counts on restoring/updating its text value from the post data upon postback. The Text property is preserved in the viewstate only when the control is hidden.&amp;nbsp; &lt;/p&gt;&lt;p&gt;So to have content persistence through ViewState, you have a few options:&lt;br&gt;1.&amp;nbsp;the event TextChanged of TextBox must be wired&lt;br&gt;2.&amp;nbsp;the TextBox class must be disabled, hidden, or be a custom class inherited from TextBox. &lt;/p&gt;&lt;p&gt;Something else that matters - the TextBox must NOT be a password input - if it is, it will not persist the content either.&lt;/p&gt;&lt;p&gt;It would be interesting to know whether anyone reading this post has battled with the same problem.&lt;/p&gt;</description>
      <link>http://blogs.telerik.com/DimitarKapitanov/Posts/06-01-16/The_TextBox_loss_of_text_conspiracy.aspx</link>
      <author>Dimitar Kapitanov</author>
      <comments>http://blogs.telerik.com/DimitarKapitanov/Posts/06-01-16/The_TextBox_loss_of_text_conspiracy.aspx</comments>
      <guid isPermaLink="false">4ac5dc92-0bd0-475d-8ee0-0669a62f7c33</guid>
      <pubDate>Mon, 16 Jan 2006 18:01:00 GMT</pubDate>
    </item>
  </channel>
</rss>