<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Telerik Blogs</title>
    <description>Telerik Blogs</description>
    <link>http://blogs.telerik.com/Blogs.aspx</link>
    <docs>http://backend.userland.com/rss</docs>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Telerik" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Telerik CAB Enabling Kit for RadControls for WinForms updated to Q3 2009</title>
      <description>&lt;p&gt;Last week we updated the &lt;a href="http://telerikcab.codeplex.com/" title="Telerik CAB Enabling Kit for RadControls for WinForms"&gt;Telerik CAB Enabling Kit for RadControls for WinForms&lt;/a&gt; on &lt;a href="http://codeplex.com/" title="CodePlex"&gt;CodePlex&lt;/a&gt; with the mighty Q3 2009 versions of our &lt;a href="http://www.telerik.com/products/winforms.aspx" title="RadControls for WinForms by Telerik"&gt;WinForms tools&lt;/a&gt;. A few compatibility issues were resolved with this update as well. If you are using the WinForms CAB kit, just visit &lt;a href="http://telerikcab.codeplex.com/" title="Telerik CAB Enabling Kit for RadControls for WinForms"&gt;http://telerikcab.codeplex.com/&lt;/a&gt; to download the latest update.&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/-9kAD4A7Ghw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/-9kAD4A7Ghw/telerik_cab_enabling_kit_for_radcontrols_for_winforms_updated_to_q3_2009.aspx</link>
      <author>WinForms Team</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-05/telerik_cab_enabling_kit_for_radcontrols_for_winforms_updated_to_q3_2009.aspx</comments>
      <guid isPermaLink="false">e62e70b9-f42e-4099-b6dd-83bc96fe5344</guid>
      <pubDate>Wed, 11 Nov 2009 12:00:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-05/telerik_cab_enabling_kit_for_radcontrols_for_winforms_updated_to_q3_2009.aspx</feedburner:origLink></item>
    <item>
      <title>What&amp;rsquo;s new in RadChart for Silverlight Q3 2009</title>
      <description>&lt;p&gt;It has been a busy Q for the data visualization team at telerik! Our flagship chart product saw many improvements and new features the last four months and today I will summarize the most important ones for you. Here are the 5 big ones:&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;1. Grouping and Aggregation – RadChart now utilizes our powerful data engine already present in the RadGridView control to allow for a really fast grouping and aggregation of data. This comes built-in and works with all supported data sources! You can read more &lt;a href="http://blogs.telerik.com/vladimirmilev/posts/09-09-18/radchart_for_sl_wpf_data_grouping_and_aggregation.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://blogs.telerik.com/vladimirmilev/posts/09-09-18/radchart_for_sl_wpf_data_grouping_and_aggregation.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_13_1.sflb" width="240" height="137" /&gt;&lt;/a&gt; &lt;p&gt;2. Multiple YAxis support – RadChart will now allow you to add unlimited number of additional YAxes to suit your more complex comparison scenarios. For more info you can check this &lt;a href="http://blogs.telerik.com/velinangelov/posts/09-10-13/radchart_for_silverlight_wpf_multiple_y_axes_support.aspx" target="_blank"&gt;blog post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/velinangelov/posts/09-10-13/radchart_for_silverlight_wpf_multiple_y_axes_support.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_14.sflb" width="240" height="150" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;3. Horizontal Bars – Due to popular demand we now feature horizontal bars. They are in every way exactly like the normal bars, except being rendered horizontally. Find out more about those &lt;a href="http://www.telerik.com/help/silverlight/radchart-features-chart-types-2d-charts.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/help/silverlight/radchart-features-chart-types-2d-charts.html"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_15.sflb" width="240" height="141" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;4. Negative Values - RadChart is now able to draw series below the X-Axis to achieve a more visually appealing rendering of negative values. For more check this &lt;a href="http://demos.telerik.com/silverlight/#Chart/NegativeValues"&gt;example&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_12.sflb"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_thumb_5.sflb" width="240" height="105" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;5. Exporting features - RadChart is now able to export the rendered chart to different formats like: PNG, BMP, XLSX, SVG. Further reading available in this &lt;a href="http://blogs.telerik.com/vladimirmilev/posts/09-09-08/silverlight_radchart_for_export_to_image.aspx"&gt;blog post.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/vladimirmilev/posts/09-09-08/silverlight_radchart_for_export_to_image.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-WhatsnewinRadChartforSilverlightQ32009_D4C8-image_18.sflb" width="240" height="169" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;I sincerely hope you like the way RadChart is shaping up. Much of the decisions we make are a direct result of customer feedback. We are committed to continue developing and improving the industry leading Silverlight charting solution.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/MR2ZhR1x5MA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/MR2ZhR1x5MA/what_rsquo_s_new_in_radchart_for_silverlight_q3_2009.aspx</link>
      <author>Vladimir Milev</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-11/what_rsquo_s_new_in_radchart_for_silverlight_q3_2009.aspx</comments>
      <guid isPermaLink="false">94599082-3e8d-4a5d-ad81-6116900e84f4</guid>
      <pubDate>Wed, 11 Nov 2009 07:28:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-11/what_rsquo_s_new_in_radchart_for_silverlight_q3_2009.aspx</feedburner:origLink></item>
    <item>
      <title>Telerik @ TechEd Europe 2009 in Berlin &amp;ndash; Day 2</title>
      <description>&lt;p&gt;Having learned from yesterday we started the day earlier than the exhibition opened officially and again it was worth doing so. Many people came by after their first session. Anyway we could have a short break and our CSO Steve managed the whole booth on his own …&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-PICT0996.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PICT0996" border="0" alt="PICT0996" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-PICT0996_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;At the end of another very busy day we enjoyed the reception in the exhibition area.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-008.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="008" border="0" alt="008" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-008_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-012.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="012" border="0" alt="012" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-012_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-015.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="015" border="0" alt="015" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-015_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-016.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="016" border="0" alt="016" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay2_E03C-016_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;People love our T-Shirts so much that we will run out of them shortly. So if you are an attendee not having one yet, hurry up tomorrow morning and come to booth V7/V8 in the VSIP zone.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;3 days to go …&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/9TcnT5-PgkI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/9TcnT5-PgkI/telerik_teched_europe_2009_in_berlin_ndash_day_2.aspx</link>
      <author>Peter Brunner</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-10/telerik_teched_europe_2009_in_berlin_ndash_day_2.aspx</comments>
      <guid isPermaLink="false">30324a0b-4ac6-4da2-9703-04590b4d615b</guid>
      <pubDate>Wed, 11 Nov 2009 07:12:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-10/telerik_teched_europe_2009_in_berlin_ndash_day_2.aspx</feedburner:origLink></item>
    <item>
      <title>Using ViewModel objects to improve the Ajax performance of Telerik Grid for ASP.NET MVC</title>
      <description>&lt;p&gt;In this blog post I will demonstrate how to squeeze the most from Telerik Grid for ASP.NET MVC when using Ajax binding. &lt;/p&gt; &lt;p&gt;Lets start with a simple grid bound to the Northwind Orders table:&lt;/p&gt; &lt;p&gt;View:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;%@ Page Language=&lt;span style="color: #006080"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; MasterPageFile=&lt;span style="color: #006080"&gt;&amp;quot;~/Views/Shared/Site.Master&amp;quot;&lt;/span&gt; Inherits=&lt;span style="color: #006080"&gt;&amp;quot;System.Web.Mvc.ViewPage&amp;lt;IEnumerable&amp;lt;UsingDto.Models.Order&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID=&lt;span style="color: #006080"&gt;&amp;quot;indexTitle&amp;quot;&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #006080"&gt;&amp;quot;TitleContent&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    Home Page&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID=&lt;span style="color: #006080"&gt;&amp;quot;indexContent&amp;quot;&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #006080"&gt;&amp;quot;MainContent&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;%= Html.Telerik().Grid(Model)&lt;br /&gt;        .Name(&lt;span style="color: #006080"&gt;&amp;quot;Grid&amp;quot;&lt;/span&gt;)&lt;br /&gt;        .Columns(columns =&amp;gt;&lt;br /&gt;        {&lt;br /&gt;            columns.Add(o =&amp;gt; o.OrderID).Width(100);&lt;br /&gt;            columns.Add(o =&amp;gt; o.Customer.ContactName).Width(200);&lt;br /&gt;            columns.Add(o =&amp;gt; o.ShipAddress);&lt;br /&gt;            columns.Add(o =&amp;gt; o.OrderDate).Format(&lt;span style="color: #006080"&gt;&amp;quot;{0:MM/dd/yyyy}&amp;quot;&lt;/span&gt;).Width(120);&lt;br /&gt;        })&lt;br /&gt;        .Ajax(ajax =&amp;gt; ajax.Action(&lt;span style="color: #006080"&gt;&amp;quot;_AjaxBinding&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Home&amp;quot;&lt;/span&gt;))&lt;br /&gt;        .Pageable()&lt;br /&gt;        .Sortable()&lt;br /&gt;        .Scrollable()&lt;br /&gt;        .Filterable()&lt;br /&gt;%&amp;gt;&lt;br /&gt;&amp;lt;%= Html.Telerik().ScriptRegistrar() %&amp;gt;&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;/pre&gt;
Controller:&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; HomeController : Controller&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult Index()&lt;br /&gt;    {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View(GetOrders());&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    [GridAction]&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult _AjaxBinding()&lt;br /&gt;    {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; GridModel&lt;br /&gt;        {&lt;br /&gt;            Data = GetOrders()&lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IEnumerable&amp;lt;Order&amp;gt; GetOrders()&lt;br /&gt;    {&lt;br /&gt;        NorthwindDataContext northwind = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NorthwindDataContext();&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; northwind.Orders;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt; &lt;br /&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Let’s try this setup and go to the second page of the grid. FireBug reports that 6418 bytes have been transferred:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/BeforeDto_124F3B35.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BeforeDto" border="0" alt="BeforeDto" src="http://blogs.telerik.com/Libraries/MetaBlogLib/BeforeDto_thumb_372F40C5.sflb" width="498" height="579" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This is because all the properties of the Order object are serialized in JSON. Since we have a column which is using the Customer property of the Order all properties of the Customer object are serialized as well. Let’s improve the payload size using the following ViewModel object:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; OrderViewModel&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; OrderID&lt;br /&gt;    {&lt;br /&gt;        get;&lt;br /&gt;        set;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ContactName&lt;br /&gt;    {&lt;br /&gt;        get;&lt;br /&gt;        set;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ShipAddress&lt;br /&gt;    {&lt;br /&gt;        get;&lt;br /&gt;        set;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; DateTime? OrderDate&lt;br /&gt;    {&lt;br /&gt;        get;&lt;br /&gt;        set;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt; &lt;br /&gt;&lt;/div&gt;
It contains only the properties relevant in this particular grid configuration. By using it we will serialize only the important data thus improving the total size of the Ajax request. Here is 

&lt;p&gt;the updated configuration:&lt;/p&gt; &lt;p&gt;View:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;%@ Page Language=&lt;span style="color: #006080"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; MasterPageFile=&lt;span style="color: #006080"&gt;&amp;quot;~/Views/Shared/Site.Master&amp;quot;&lt;/span&gt; Inherits=&lt;span style="color: #006080"&gt;&amp;quot;System.Web.Mvc.ViewPage&amp;lt;IEnumerable&amp;lt;UsingDto.Models.OrderViewModel&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID=&lt;span style="color: #006080"&gt;&amp;quot;indexTitle&amp;quot;&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #006080"&gt;&amp;quot;TitleContent&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    Home Page&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content ID=&lt;span style="color: #006080"&gt;&amp;quot;indexContent&amp;quot;&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #006080"&gt;&amp;quot;MainContent&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;%= Html.Telerik().Grid(Model)&lt;br /&gt;        .Name(&lt;span style="color: #006080"&gt;&amp;quot;Grid&amp;quot;&lt;/span&gt;)&lt;br /&gt;        .Columns(columns =&amp;gt;&lt;br /&gt;        {&lt;br /&gt;            columns.Add(o =&amp;gt; o.OrderID).Width(100);&lt;br /&gt;            columns.Add(o =&amp;gt; o.ContactName).Width(200);&lt;br /&gt;            columns.Add(o =&amp;gt; o.ShipAddress);&lt;br /&gt;            columns.Add(o =&amp;gt; o.OrderDate).Format(&lt;span style="color: #006080"&gt;&amp;quot;{0:MM/dd/yyyy}&amp;quot;&lt;/span&gt;).Width(120);&lt;br /&gt;        })&lt;br /&gt;        .Ajax(ajax =&amp;gt; ajax.Action(&lt;span style="color: #006080"&gt;&amp;quot;_AjaxBinding&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Home&amp;quot;&lt;/span&gt;))&lt;br /&gt;        .Pageable()&lt;br /&gt;        .Sortable()&lt;br /&gt;        .Scrollable()&lt;br /&gt;        .Filterable()&lt;br /&gt;%&amp;gt;&lt;br /&gt;&amp;lt;%= Html.Telerik().ScriptRegistrar() %&amp;gt;&lt;br /&gt;&amp;lt;/asp:Content&amp;gt;&lt;/pre&gt;
The type of the model and the ContactName column are changed. 

  &lt;br /&gt;&lt;/div&gt; &lt;p&gt;Controller:&lt;/p&gt; &lt;div&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; HomeController : Controller&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult Index()&lt;br /&gt;    {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View(GetOrders());&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    [GridAction]&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult _AjaxBinding()&lt;br /&gt;    {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; GridModel&lt;br /&gt;        {&lt;br /&gt;            Data = GetOrders()&lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IEnumerable&amp;lt;OrderViewModel&amp;gt; GetOrders()&lt;br /&gt;    {&lt;br /&gt;        NorthwindDataContext northwind = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NorthwindDataContext();&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; from o &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; northwind.Orders&lt;br /&gt;               select &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; OrderViewModel&lt;br /&gt;               {&lt;br /&gt;                   OrderID = o.OrderID,&lt;br /&gt;                   ContactName = o.Customer.ContactName,&lt;br /&gt;                   ShipAddress = o.ShipAddress,&lt;br /&gt;                   OrderDate = o.OrderDate&lt;br /&gt;               };&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt; &lt;/div&gt; &lt;div&gt;The only thing that is changed is the GetOrders method. It is now projecting the Order object to OrderViewModel. &lt;/div&gt; &lt;div&gt; Let’s check if this made any difference:&lt;/div&gt; &lt;div&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/AfterDto_193301DB.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AfterDto" border="0" alt="AfterDto" src="http://blogs.telerik.com/Libraries/MetaBlogLib/AfterDto_thumb_292184F8.sflb" width="521" height="567" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/div&gt; &lt;div&gt;Nice! Now the total amount of data transferred during paging is 1223 bytes. We can improve that further if we enable &lt;a href="http://forums.iis.net/p/1155809/1895877.aspx"&gt;gzip compression in IIS7 for the JSON content type&lt;/a&gt;:&lt;/div&gt; &lt;div&gt;&amp;#160;&lt;/div&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/AfterGzip_7CE6CD1D.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AfterGzip" border="0" alt="AfterGzip" src="http://blogs.telerik.com/Libraries/MetaBlogLib/AfterGzip_thumb_29DDFF03.sflb" width="527" height="565" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; GZIP compression introduces two times smaller payload and almost ten times than the initial implementation.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Find attached the sample project used in the blog post.&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:d2195d88-52c2-417b-a299-554f460ea4d8" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/UsingDto_2EC01B47.sflb" target="_self"&gt;UsingDto.zip&lt;/a&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;I hope this helps!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/NRKBnwJwZxw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/NRKBnwJwZxw/using_viewmodel_objects_to_improve_the_ajax_performance_of_telerik_grid_for_asp_net_mvc.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-10/using_viewmodel_objects_to_improve_the_ajax_performance_of_telerik_grid_for_asp_net_mvc.aspx</comments>
      <guid isPermaLink="false">595f17e0-01b2-47ac-8d5b-5a0eedcd1dc3</guid>
      <pubDate>Wed, 11 Nov 2009 07:10:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-10/using_viewmodel_objects_to_improve_the_ajax_performance_of_telerik_grid_for_asp_net_mvc.aspx</feedburner:origLink></item>
    <item>
      <title>RadControls for WinForms Q3 2009 - RadDock Tab Alignment and DragDrop Automation</title>
      <description>&lt;p&gt;For the Q3 2009 release, we have added a few important new features to the RadDock. The first of these features is the ability to set the tab strip alignment and/or visibility on DocumentTabStrip and ToolTabStrip instances. The second feature we have added is the ability to implement your own manual drag and drop behavior.&lt;/p&gt; &lt;h1&gt; &lt;p&gt;Tab Alignment and Visibility&lt;/p&gt; &lt;/h1&gt; &lt;p&gt;&lt;img style="width: 211px; float: right; height: 192px;" alt="New TabStrip Properties" src="http://blogs.telerik.com:80//Libraries/Robert_Shoemate_s_Documents/ToolTabStripProperties.sflb" /&gt;When working with ToolTabStrips and DocumentTabStrips in the Q3 release, you will notice that we have added two new properties. The first of these properties, TabStripAlignment, allows you to set the alignment of tabs within their parent TabStrip. The second of these properties, TabStripVisible, allows you to specify whether or not the tabs should be visible. You can see these features in action in the RadControls for WinForms demo application under RadDock -&amp;gt; TabStrip Properties.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h1&gt; &lt;p&gt;Manual Drag and Drop Behavior&lt;/p&gt; &lt;/h1&gt; &lt;p&gt;Drag and drop automation is now possible with the RadDock. The DragDropService of the RadDock now contains a property, DragDropBehavior, that you can set to auto or manual. Setting this property to manual allows you to implement your own custom drag and drop behavior based on the events provided by the DragDropService object.&lt;/p&gt; &lt;p&gt;Using a manual implementation of this service, I've created a simple class that allows for it's users to animate the dragging of a ToolWindow through one line of code.&lt;/p&gt; &lt;div class="reCodeBlock" style="border: #7f9db9 1px solid; overflow-y: auto;"&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;private&lt;/code&gt; &lt;code style="color: #069; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000;"&gt;btnDragDrop_Click(&lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000;"&gt;sender, EventArgs e) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_radDockAutomation.DoDragDrop(toolWindow1, DockPosition.Fill, toolWindow2); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;The class, RadDockAutomation, takes a RadDock in its constructor. In calling the DoDragDrop method, you must specify a ToolWindow to drag and drop, the way in which to dock it, and the ToolWindow to dock it inside of or relative to. Upon calling this method, the DragDropBehavior of the DragDropService is set to manual, two events are subscribed to, and a timer is started.&lt;/p&gt; &lt;div class="reCodeBlock" style="border: #7f9db9 1px solid; overflow-y: auto;"&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #069; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000;"&gt;DoDragDrop(DockWindow dragDropDockWindow, DockPosition toDockPosition, DockWindow toDockWindow) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #008200;"&gt;// Setup the DragDropService for custom behavior &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_ddService.DragDropBehavior = DragDropBehavior.Manual; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_ddService.PreviewHitTest += &lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000;"&gt;DragDropHitTestEventHandler(_ddService_PreviewHitTest); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_ddService.Stopped += &lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000;"&gt;EventHandler(_ddService_Stopped); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #008200;"&gt;// Set the toPosition and DockWindow &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_toDockPosition = toDockPosition; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_toDockWindow = toDockWindow; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;     &lt;/code&gt;&lt;span style="margin-left: 15px !important;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #008200;"&gt;// Set the initial position of the window being dragged &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_prevPosition = dragDropDockWindow.Parent.RectangleToScreen(dragDropDockWindow.Bounds).Location; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_radDock.FloatWindow(dragDropDockWindow, &lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000;"&gt;Rectangle(&lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000;"&gt;._prevPosition, DragDropService.DefaultFloatingSize)); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;                 &lt;/code&gt;&lt;span style="margin-left: 51px !important;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #008200;"&gt;// Start the drag &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_ddService.Start(dragDropDockWindow.FloatingParent, &lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000;"&gt;._prevPosition); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_timer.Start(); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;The timer is responsible for moving the specified DockWindow within its tick event. The PerformDrag method being called calculates the next position the ToolWindow should be moved to on a point by point basis.&lt;/p&gt; &lt;div class="reCodeBlock" style="border: #7f9db9 1px solid; overflow-y: auto;"&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000;"&gt;_timer_Tick(&lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000;"&gt;sender, EventArgs e) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;_ddService.PerformDrag(GetNextPoint(_toDockPosition, _toDockWindow)); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;The PreviewHitTest event of the DragDropService is responsible for detecting when the DockWindow being moved has reached the specified location. Once it has reached the specified location, the service is stopped and the drag drop automation is completed.&lt;/p&gt; &lt;div class="reCodeBlock" style="border: #7f9db9 1px solid; overflow-y: auto;"&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000;"&gt;_ddService_PreviewHitTest(&lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000;"&gt;sender, DragDropHitTestEventArgs e) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000;"&gt;((e.DropTarget == _toDockWindow.DockTabStrip) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;        &lt;/code&gt;&lt;span style="margin-left: 24px !important;"&gt;&lt;code style="color: #000;"&gt;&amp;amp;&amp;amp; (e.HitTest.DockPosition != &lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;null&lt;/code&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;        &lt;/code&gt;&lt;span style="margin-left: 24px !important;"&gt;&lt;code style="color: #000;"&gt;&amp;amp;&amp;amp; e.HitTest.DockPosition == _toDockPosition)) &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;code&gt;        &lt;/code&gt;&lt;span style="margin-left: 24px !important;"&gt;&lt;code style="color: #069; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000;"&gt;._ddService.Stop(&lt;/code&gt;&lt;code style="color: #069; font-weight: bold;"&gt;true&lt;/code&gt;&lt;code style="color: #000;"&gt;); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;    &lt;/code&gt;&lt;span style="margin-left: 12px !important;"&gt;&lt;code style="color: #000;"&gt;} &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #fff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px !important;"&gt;&lt;code style="color: #000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/Robert_Shoemate_s_Documents/RadDockDemo.sflb?download=true"&gt;Click here&lt;/a&gt; to download the source code used in this post.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/xAVmASz4mSA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/xAVmASz4mSA/radcontrols_for_winforms_q3_2009_-_raddock_tab_alignment_and_dragdrop_automation.aspx</link>
      <author>Robert Shoemate</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-04/radcontrols_for_winforms_q3_2009_-_raddock_tab_alignment_and_dragdrop_automation.aspx</comments>
      <guid isPermaLink="false">e858ad8e-62de-403f-b4ec-f27fb9d6340b</guid>
      <pubDate>Tue, 10 Nov 2009 12:00:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-04/radcontrols_for_winforms_q3_2009_-_raddock_tab_alignment_and_dragdrop_automation.aspx</feedburner:origLink></item>
    <item>
      <title>Telerik XAML Controls Q3 2009 Release</title>
      <description>&lt;p&gt;&lt;img alt="" src="http://blogs.telerik.com:80//Libraries/Nikolay_Atanasov/Q3_2009_1.sflb" /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;It has been another quarter for the XAML teams here at Telerik. During this time we worked on producing new tools and significant new features demanded by our customers.&lt;br /&gt; &lt;br /&gt;
The results of our efforts can be seen in the latest Q3 2009 release that was officially launched two days ago.&lt;br /&gt; &lt;br /&gt;
In this release we included lots of new tools, including navigational controls, like RibbonBar(&lt;a href="http://www.telerik.com/products/silverlight/ribbonbar.aspx"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.telerik.com/products/wpf/ribbonbar.aspx"&gt;WPF&lt;/a&gt;), OutlookBar(&lt;a href="http://www.telerik.com/products/silverlight/outlookbar.aspx"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.telerik.com/products/wpf/outlookbar.aspx"&gt;WPF&lt;/a&gt;); rich UI(visual) components like TileView(&lt;a href="http://www.telerik.com/products/silverlight/tileview.aspx"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.telerik.com/products/wpf/tileview.aspx"&gt;WPF&lt;/a&gt;), &lt;a href="http://www.telerik.com/products/silverlight/book.aspx"&gt;Book&lt;/a&gt;, &lt;a href="http://www.telerik.com/products/silverlight/map.aspx"&gt;Map&lt;/a&gt;; Commands support with our Button controls(&lt;a href="http://www.telerik.com/products/silverlight/buttons.aspx"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.telerik.com/products/wpf/buttons.aspx"&gt;WPF&lt;/a&gt;).&lt;br /&gt; &lt;br /&gt;
The &lt;a href="http://www.telerik.com/products/silverlight/gridview.aspx"&gt;RadGridView&lt;/a&gt; control now uses new UI virtualization mechanism that makes you scroll &lt;a href="http://demos.telerik.com/silverlight/#GridView/Paging"&gt;5x faster than before&lt;/a&gt;. The new UI virtualization works both vertically and horizontally, even with &lt;a href="http://demos.telerik.com/silverlight/#GridView/UIVirtualization"&gt;enormous amount of data (cells)&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;
Telerik &lt;a href="http://www.telerik.com/products/silverlight/chart.aspx"&gt;RadChart&lt;/a&gt; control has been extended with two new major features that were in a great demand within the Telerik community. These are support for &lt;a href="http://demos.telerik.com/silverlight/#Chart/NegativeValues"&gt;Negative Values&lt;/a&gt; and &lt;a href="http://demos.telerik.com/silverlight/#Chart/MultipleYAxes"&gt;Multiple YAxis&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;
All the Silverlight and WPF controls have been wrapped up with a new theme - the new Windows 7 theme. &lt;br /&gt; &lt;br /&gt;
During the last quarter we received lots of feedback on our documentation, most of it were complaints about missing or obsolete content. Therefore, we started another major initiative in the beginning of Q3.&lt;br /&gt;
We started to re-write the major parts of our docs. The result is that now the RadControls for Siverlight and RadControls for WPF documentation contains brand new and extended content for the GridView, Charts, Docking, TreeView and TabControl.&lt;br /&gt;
We are completely aware that there is much more to be done in this directions and we realize the importance of our documentation. Hence, this is going to be one of our major tasks during the next quarter.&lt;br /&gt; &lt;br /&gt;
Full Release Notes can be seen at:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/products/silverlight/whats-new/release-history/q3-2009-version-2009-3-1103-1285738400.aspx"&gt;RadControls for Silverlight Q3 2009 release Notes&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/products/wpf/whats-new/release-history/q3-2009-version-2009-3-1103-145460757.aspx"&gt;RadControls for WPF Q3 2009 Release Notes&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
See &lt;a href="http://demos.telerik.com/silverlight/"&gt;Silverilght&lt;/a&gt; &lt;a href="http://demos.telerik.com/wpf/"&gt;WPF&lt;/a&gt; Demos&lt;/p&gt; &lt;p&gt;See &lt;a href="http://www.telerik.com/help/silverlight/introduction.html"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.telerik.com/help/wpf/introduction.html"&gt;WPF&lt;/a&gt; Documentation&lt;/p&gt; &lt;p&gt;To download the files please log in your &lt;a href="https://www.telerik.com/login.aspx?ReturnUrl=/account.aspx"&gt;accounts&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/Un7Bz52rkac" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/Un7Bz52rkac/telerik_xaml_controls_q3_2009_release.aspx</link>
      <author>Nikolay Atanasov</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-10/telerik_xaml_controls_q3_2009_release.aspx</comments>
      <guid isPermaLink="false">73f5c715-b065-4fcf-9b17-20e068d6c950</guid>
      <pubDate>Tue, 10 Nov 2009 11:34:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-10/telerik_xaml_controls_q3_2009_release.aspx</feedburner:origLink></item>
    <item>
      <title>Telerik &amp;ldquo;M&amp;rdquo; Compare and &amp;ldquo;Repository&amp;rdquo; Migration Tool November CTP</title>
      <description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://www.stephenforte.net/PermaLink,guid,56e074ee-bb50-453c-98b3-6f91b9773bed.aspx";digg_title = "Telerik “M” Compare and “Repository” Migration Tool November CTP";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt; &lt;/div&gt; &lt;p&gt;
Last summer Telerik released the &lt;a href="http://www.telerik.com/community/labs/telerik-oslo-comparison-and-migration-tool.aspx"&gt;Oslo
Comparison and Migration Tool&lt;/a&gt;. It is a tool that is available free for the community.
It allows you to compare two Microsoft code named “M” files, see a visual diff, and
then merge the results. (M is the code name for a new &lt;a href="http://microsoftpdc.com/Sessions/Tags/Modeling"&gt;data
modeling language&lt;/a&gt; from Microsoft.)
&lt;/p&gt; &lt;p&gt;
Telerik has expanded the tool to allow comparison of items in the SQL Server “Repository”
and then do the same visualdiff and them merge the schema. Developers who have been
playing with the M language and repository will find it very useful to have a tool
that will allow comparisons and migrations, since the requirements of our applications
are always changing! :) Pretty cool.
&lt;/p&gt; &lt;p&gt; &lt;img src="http://www.telerik.com/libraries/reporting/oslo-project_5.sflb" /&gt; &lt;/p&gt; &lt;p&gt; &lt;u&gt;Just a note&lt;/u&gt;: Telerik will be updating the tool as soon as Microsoft makes some
“M” and SQL Server “Repository” &lt;a href="http://microsoftpdc.com/Sessions/Tags/Modeling"&gt;related
announcements next week at PDC&lt;/a&gt;. Stay tuned!
&lt;/p&gt; &lt;img width="0" height="0" src="http://www.stephenforte.net/aggbug.ashx?id=56e074ee-bb50-453c-98b3-6f91b9773bed" /&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/2v9EMZYp_tE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/2v9EMZYp_tE/PermaLink,guid,56e074ee-bb50-453c-98b3-6f91b9773bed.aspx</link>
      <author>Stephen Forte</author>
      <comments>http://www.stephenforte.net/PermaLink,guid,56e074ee-bb50-453c-98b3-6f91b9773bed.aspx</comments>
      <guid isPermaLink="false">504519f2-b446-40f1-b198-4ac02da9a72d</guid>
      <pubDate>Tue, 10 Nov 2009 05:54:00 GMT</pubDate>
    <feedburner:origLink>http://www.stephenforte.net/PermaLink,guid,56e074ee-bb50-453c-98b3-6f91b9773bed.aspx</feedburner:origLink></item>
    <item>
      <title>How to Use Google Spellcheck with RadSpell</title>
      <description>&lt;p&gt;Sometimes the default spellchecking algorithms in RadSpell are not providing the best possible suggestions for misspelled words. For example, the phonetic algorithm works best with English words, but is not very accurate with Russian. The edit distance algorithm is language independent, but will not recognize easy mistakes if the word spelling is not very similar to the original. Unfortunately, implementing your own custom algorithm for a specific language is not an easy task. &lt;/p&gt; &lt;p&gt;The latest Q3 2009 release of the RadControls for ASP.NET AJAX features a new example for RadSpell, which shows how to use an existing service provided by Google to spellcheck - &lt;a href="http://demos.telerik.com/aspnet-ajax/spell/examples/googlespell/defaultcs.aspx" title="RadSpell example"&gt;http://demos.telerik.com/aspnet-ajax/spell/examples/googlespell/defaultcs.aspx&lt;/a&gt;. This example uses a feature of the control that allows using a custom provider (&lt;code&gt;SpellCheckProviderTypeName&lt;/code&gt;). The provider needs to implement an existing interface (&lt;code&gt;ISpellCheckProvider&lt;/code&gt;) and define simple methods like CheckWord, GetSuggestions, etc. &lt;/p&gt; &lt;p&gt;The Google provider works on the server by making a secure service request to the spell check service, which in turn returns a list of misspelled words and suggestions for them. We then convert this to a format that RadSpell can work with and push it back to the client browser where the actual spell check dialog is displayed. The provider is fully functional with the exception of adding custom words to the dictionary. However, you can easily implement that as well using an example from our Knowledge base - &lt;a href="http://www.telerik.com/support/kb/aspnet-ajax/spell/changing-the-custom-dictionary-files-location.aspx" title="custom dictionary files location provider"&gt;Changing the custom dictionary files location&lt;/a&gt;.If you do not need to add custom words, then you can simply copy the Google provider code in your project without the need for any modifications.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/lPOr6uzB0rs" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/lPOr6uzB0rs/how_to_use_google_spellcheck_with_radspell.aspx</link>
      <author>Stoyan Stratev</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-09/how_to_use_google_spellcheck_with_radspell.aspx</comments>
      <guid isPermaLink="false">c9abd4fa-5a83-4e8a-845d-2ce6e960fdb2</guid>
      <pubDate>Tue, 10 Nov 2009 05:52:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-09/how_to_use_google_spellcheck_with_radspell.aspx</feedburner:origLink></item>
    <item>
      <title>Telerik @ TechEd Europe 2009 in Berlin - Day 1</title>
      <description>&lt;p&gt;The first day at TechEd in Berlin has been a very good one. Thanks to the 400 people coming by enjoying our demos and T-Shirts. &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay1_F929-PICT0987.sflb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PICT0987" border="0" alt="PICT0987" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-TelerikTechEdEurope2009inBerlinDay1_F929-PICT0987_thumb.sflb" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;If you are there, don’t miss to visit us and meet our developers for a demo or a tech talk. &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Tomorrow at 2.45 pm you can see Telerik OpenAccess ORM working with SQL Azure. This will be demonstrated live in the VSIP theatre. Afterwards you can win a &lt;a href="http://www.telerik.com/products"&gt;Premium Collection&lt;/a&gt; at our booth. &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;4 days to go …&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/28F3hqMVFhA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/28F3hqMVFhA/telerik_teched_europe_2009_in_berlin_-_day_1.aspx</link>
      <author>Peter Brunner</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-09/telerik_teched_europe_2009_in_berlin_-_day_1.aspx</comments>
      <guid isPermaLink="false">2291545d-6823-481b-8c39-8039c8e34d59</guid>
      <pubDate>Tue, 10 Nov 2009 05:51:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-09/telerik_teched_europe_2009_in_berlin_-_day_1.aspx</feedburner:origLink></item>
    <item>
      <title>Design Canvas 2.0 Beta Released!</title>
      <description>&lt;div style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" id="pageContainer"&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;We are happy to announce the availability of &lt;strong&gt;Design Canvas 2.0 Beta&lt;/strong&gt;! Design Canvas 2.0 is a major update to our flagship Design Canvas product line and is packed with new features and updates. &lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;Silverlight recording and playback is now fully supported in Design Canvas!!!&lt;/strong&gt;&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Design Canvas 2.0 Beta can be downloaded from &lt;a shape="rect" href="http://www.artoftest.com/products/downloads.aspx" shape="rect"&gt;here&lt;/a&gt;. &lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;We are planning the final release the beginning of December this year. We really want to hear your feedback so we encourage you to share it at our Design Canvas 2.0 forum &lt;a shape="rect" href="http://www.artoftest.com/community/forums.aspx" shape="rect"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Watch Getting Started Video &lt;a href="http://www.artoftest.com/community/All-Videos/Silverlight-Recording.aspx"&gt;here&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;What's New in 2.0?&lt;/strong&gt;&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;As mentioned, Design Canvas is a major upgrade and contains tons of new features and enhancements. Let's start by talking about the biggest new feature in Design Canvas 2.0 which is support for Silverlight Automation.&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;Silverlight Automation:&lt;/strong&gt;&lt;/p&gt; &lt;p style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;We've spent over a  year studying and understanding the usage scenarios for Silverlight automation and the distinct challenges it poses. We tried to address many of these challenges in Design Canvas 2.0 and we know we still have many more that we are actively working on addressing before the final release in December. Here are some of the features that are worth mentioning when it comes to Silverlight automation:&lt;/p&gt; &lt;div style="padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Object Based Recording&lt;/strong&gt;: All elements that are targets of a specific action/verification or wait operation are abstracted for you and organized under the proper Page/SilverlightApp in the Elements Explorer. Each action is performed against a target and the target has specific find logic that gets generated to be used on playback. &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p align="center"&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image25.sflb" shape="rect"&gt;&lt;img width="660" height="260" style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image25_thumb.sflb" complete="complete" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;ol&gt; &lt;li&gt;"&lt;strong&gt;On Spot" Silverlight Control Detection: &lt;/strong&gt;Silverlight applications - especially real enterprise applications - have large, complex and deep visual trees. In fact, we found that some Silverlight applications have bigger visual trees than complex Ajax applications. For example, a simply HTML button can be represented as one tag in HTML &amp;lt;input type="submit" /&amp;gt; but in Silverlight a Button is made out of many mini controls like Paths/Rectangles/TextBlocks.etc. That by itself makes identifying the correct UI control to build validation against a bit more tedious and complex. Design Canvas 2.0 offers UI cues using what we call "fans" that allow you to visually identify what element you have under the mouse and what logical controls this element is part of in order or containment. &lt;/li&gt; &lt;/ol&gt; &lt;p&gt; &lt;/p&gt; &lt;p align="center"&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_10.sflb" shape="rect"&gt;&lt;img width="544" height="260" style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_4.sflb" complete="complete" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Integrated Visual Tree Explorer: &lt;/strong&gt;The DOM Explorer can now show both your HTML page DOM and your Silverlight application Visual Tree. Furthermore, you can set the root of the DOM Explorer to be the Silverlight application if you do not care about the HTML portion of the page. That is probably the case for customers building 100% Silverlight LOB applications. The DOM Explorer is also hooked to the highlighting surface and vice-versa. &lt;/li&gt; &lt;/ol&gt; &lt;p align="center"&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_14.sflb" shape="rect"&gt;&lt;img width="491" height="461" style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_6.sflb" complete="complete" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;div align="left"&gt;&lt;strong&gt;Built-in translators for all out-of-box Silverlight controls:&lt;/strong&gt; We have custom translators built for all the built-in controls (common &amp;amp; complex) that Microsoft ships out of box for Silverlight development. The translators offer tailored recording experience for each control. &lt;em&gt;We also have future plans (post 2.0) to support the Silverlight Control Toolkit that Microsoft ships too&lt;/em&gt;.&lt;/div&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p align="left"&gt; &lt;/p&gt; &lt;p align="center"&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_16.sflb" shape="rect"&gt;&lt;img width="520" height="405" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_7.sflb" complete="complete" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="left"&gt; &lt;/p&gt; &lt;p&gt;These are just a few of the main highlights of our Silverlight recording support. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;NEW Interactive HIGHLIGHTING SURFACE&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The new highlighting surface in Design Canvas 2.0 is designed to allow for a more intuitive and richer user experience right on top of the target application you testing. &lt;/p&gt; &lt;p&gt;- Drag elements directly from the page to locate in the DOM or add to the project elements:&lt;/p&gt; &lt;p&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_18.sflb" shape="rect"&gt;&lt;img width="349" height="210" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_8.sflb" complete="complete" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;- New simple and easy to use "Element Menu"&lt;/p&gt; &lt;p&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_20.sflb" shape="rect"&gt;&lt;img width="179" height="244" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_9.sflb" complete="complete" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;- Rich Drag &amp;amp; Drop recording experience:&lt;/p&gt; &lt;p&gt;&lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_22.sflb" shape="rect"&gt;&lt;img width="486" height="281" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_10.sflb" complete="complete" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;New 3D Element View&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Accessed through the verifications menu, this new feature allows users to dissect the DOM hierarchy and target a specific element using a new 3D visualizer. This feature is extremely important when building Silverlight or HTML automation in real-world applications that have complex DOM or Visual Trees. Furthermore, the UI allows you to build all sorts of verifications against the targeted element with just few clicks.&lt;/p&gt; &lt;p&gt;&lt;img alt="studio whatsnew" src="http://www.telerik.com/libraries/webui-test-studio-features/studio_whatsnew.sflb" complete="complete" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;New Slick Storyboard&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A new storyboard experience.The storyboard is also now hooked to the Test Explorer and vice-versa so you can visual identify each step easily.&lt;/p&gt; &lt;p&gt; &lt;a shape="rect" href="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_24.sflb" shape="rect"&gt;&lt;img width="667" height="444" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artoftest.com/Libraries/MetaBlogLib/WindowsLiveWriter-image_thumb_11.sflb" complete="complete" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;And MUCH many more&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Test Explorer Enhancements: Do/Undo/Copy/Paste/Record at a certain step. &lt;/li&gt; &lt;li&gt;Support for XUnit &amp;amp; MBUnit &lt;/li&gt; &lt;li&gt;New find logic editor to modify how elements are found. &lt;/li&gt; &lt;li&gt;New tasks: Clear Cookies , WaitForUrl for redirects and Inspection Points. &lt;/li&gt; &lt;li&gt;Set a BaseUrl for your entire project. &lt;/li&gt; &lt;li&gt;Control Translators for all of Telerik's Silverlight RadControls. &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Telerik also released their WebUI Test Studio (Beta) as part of their Q3 release which is based on our Design Canvas 2.0 Beta.&lt;/p&gt; &lt;p&gt;&lt;object id="viddlerplayer-463911ef" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="350" althtml="
&amp;lt;rade_param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://www.viddler.com/simple/463911ef/&amp;quot; &amp;gt; &amp;lt;rade_param name=&amp;quot;allowScriptAccess&amp;quot; value=&amp;quot;always&amp;quot; &amp;gt; &amp;lt;rade_param name=&amp;quot;wmode&amp;quot; value=&amp;quot;transparent&amp;quot; &amp;gt; &amp;lt;rade_param name=&amp;quot;allowFullScreen&amp;quot; value=&amp;quot;true&amp;quot; &amp;gt;&amp;lt;embed src=&amp;quot;http://www.viddler.com/simple/463911ef/&amp;quot; originalAttribute=&amp;quot;src&amp;quot; originalPath=&amp;quot;http://www.viddler.com/simple/463911ef/&amp;quot; originalAttribute=&amp;quot;src&amp;quot; originalPath=&amp;quot;http://www.viddler.com/simple/463911ef/&amp;quot; originalAttribute=&amp;quot;src&amp;quot; originalPath=&amp;quot;http://www.viddler.com/simple/463911ef/&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; allowScriptAccess=&amp;quot;always&amp;quot; allowFullScreen=&amp;quot;true&amp;quot; wmode=&amp;quot;transparent&amp;quot; name=&amp;quot;viddlerplayer-463911ef&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;"&gt; &lt;param name="movie" value="http://www.viddler.com/simple/463911ef/" &gt; &lt;param name="allowScriptAccess" value="always" &gt; &lt;param name="wmode" value="transparent" &gt; &lt;param name="allowFullScreen" value="true" &gt;&lt;embed src="http://www.viddler.com/simple/463911ef/" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" wmode="transparent" name="viddlerplayer-463911ef"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt; &lt;p&gt;Enjoy and do let us know what you think!!!&lt;/p&gt; &lt;p&gt;ArtOfTest&lt;/p&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/jltc4chchbQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/jltc4chchbQ/Design_Canvas_2_0_Beta_Released.aspx</link>
      <author>ArtOfTest</author>
      <comments>http://www.artoftest.com/community/blogs/09-11-04/Design_Canvas_2_0_Beta_Released.aspx</comments>
      <guid isPermaLink="false">3a67a7df-07b9-417f-a19c-00c84cc028ee</guid>
      <pubDate>Tue, 10 Nov 2009 05:37:00 GMT</pubDate>
    <feedburner:origLink>http://www.artoftest.com/community/blogs/09-11-04/Design_Canvas_2_0_Beta_Released.aspx</feedburner:origLink></item>
    <item>
      <title>Introducing RadScrollablePanel for Windows Forms</title>
      <description>&lt;p&gt;A common question that we receive from our customers regarding our &lt;a href="http://www.telerik.com/products/winforms/panels-and-labels.aspx#radpanel" title="RadPanel for WinForms by Telerik"&gt;RadPanel&lt;/a&gt;&lt;em&gt;&lt;/em&gt; control is whether the scrollbars can be customized so that they are consistent with the current theme used by the application. Since &lt;em&gt;RadPanel&lt;/em&gt; supports the standard Windows Forms scrolling behavior and the customization of the standard scrollbars is basically impossible, we decided (by using some nice trickery) to introduce a new control that provides the &lt;em&gt;RadPanel&lt;/em&gt; functionality and also supports scrollbar themes. Here is what we achieved:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/Screenshot1_6FB314CA.sflb"&gt;&lt;img height="282" width="453" src="http://blogs.telerik.com/Libraries/MetaBlogLib/Screenshot1_thumb_117E2BB5.sflb" alt="Screenshot1" title="Screenshot1" style="border: 0px none ; display: inline;" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In a nutshell, the &lt;em&gt;RadScrollablePanel&lt;/em&gt; control is composed of two &lt;em&gt;RadScrollBars&lt;/em&gt; and a panel that represents the container for the controls added. This panel also gives the scrolling functionality. With some non-client area calculations we managed to hide the standard scrollbars and map the &lt;em&gt;RadScrollBars&lt;/em&gt; to the properties exposed by the container panel. In other words, without breaking the standard scrolling mechanism, we "replace" the standard scrollbars with ours and thus enable wider customization of the appearance of the panel.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Apart from all the magic behind it, this control is used exactly as a standard panel - any controls can be easily added to it with the standard Visual Studio drag-and-drop routine.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;We hope that you will have fun using this nice control and would appreciate any feedback that could help us improve it!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/gp6HgNDfdlA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/gp6HgNDfdlA/introducing_the_radscrollablepanel.aspx</link>
      <author>WinForms Team</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-05/introducing_the_radscrollablepanel.aspx</comments>
      <guid isPermaLink="false">ac609f9d-6fec-47e2-99f0-4daeeadae389</guid>
      <pubDate>Mon, 09 Nov 2009 12:00:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-05/introducing_the_radscrollablepanel.aspx</feedburner:origLink></item>
    <item>
      <title>Using Telerik Grid for ASP.NET MVC without any server-side code</title>
      <description>&lt;p&gt;Since all Telerik UI components for ASP.NET MVC are actually jQuery plugins one can use them without any server-side code (or ASP.NET MVC). In this blog post I will show how to use the grid and bind it to Twitter. Here are the required steps:&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Register the two CSS files to style the grid:      &lt;br /&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;link&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;stylesheet&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;telerik.common.min.css&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;link&lt;/span&gt; &lt;span style="color: #ff0000"&gt;rel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;stylesheet&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;telerik.vista.min.css&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt;Then add the JavaScript files: 
    &lt;br /&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;script type=&lt;span style="color: #006080"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; src=&lt;span style="color: #006080"&gt;&amp;quot;telerik.common.min.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;script type=&lt;span style="color: #006080"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; src=&lt;span style="color: #006080"&gt;&amp;quot;telerik.grid.min.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/pre&gt; &lt;/li&gt; &lt;li&gt;Add the minimum HTML required by the grid: 
    &lt;br /&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Grid&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-widget t-grid&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-grid-header&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-grid-header-wrap&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt; &lt;span style="color: #ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:100px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:80px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-header&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;scope&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;col&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Author&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-header&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;scope&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;col&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Avatar&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-header t-last-header&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;scope&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;col&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Post&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;th&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-grid-content&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;height:400px;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt; &lt;span style="color: #ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:100px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:80px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-no-data&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt; &lt;span style="color: #ff0000"&gt;colspan&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-grid-footer&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt; &lt;span style="color: #ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:100px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;width:80px;&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;col&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;colgroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-footer&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;colspan&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-status&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;a&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;t-icon t-refresh&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;#&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt; &lt;br /&gt;&lt;/div&gt; &lt;/li&gt; &lt;li&gt;Initialize the jQuery plugin of the grid: 
    &lt;br /&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;$(document).ready(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;br /&gt;    $(&lt;span style="color: #006080"&gt;&amp;quot;#Grid&amp;quot;&lt;/span&gt;).tGrid({&lt;br /&gt;        columns: &lt;br /&gt;        [&lt;br /&gt;            {&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;:&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;,&lt;span style="color: #006080"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;:&lt;span style="color: #006080"&gt;&amp;quot;&amp;quot;&lt;/span&gt;},&lt;br /&gt;            {&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;:&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;,&lt;span style="color: #006080"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;:&lt;span style="color: #006080"&gt;&amp;quot;&amp;quot;&lt;/span&gt;},&lt;br /&gt;            {&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;:&lt;span style="color: #006080"&gt;&amp;quot;text&amp;quot;&lt;/span&gt;,&lt;span style="color: #006080"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;:&lt;span style="color: #006080"&gt;&amp;quot;String&amp;quot;&lt;/span&gt;}&lt;br /&gt;        ], &lt;br /&gt;        pageSize:0, &lt;br /&gt;        onDataBinding:onDataBinding, &lt;br /&gt;        onRowDataBound:onRowDataBound&lt;br /&gt;    });&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;/div&gt; &lt;/li&gt; &lt;li&gt;And finally bind it to the Twitter service: 
    &lt;br /&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onRowDataBound(e) {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; row = e.row;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; dataItem = e.dataItem;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #008000"&gt;// update `Author` cell with template&lt;/span&gt;&lt;br /&gt;    row.cells[0].innerHTML = [&lt;br /&gt; &lt;span style="color: #006080"&gt;'&amp;lt;a class=&amp;quot;t-link&amp;quot; href=&amp;quot;http://www.twitter.com/'&lt;/span&gt;, dataItem.from_user, &lt;span style="color: #006080"&gt;'&amp;quot;&amp;gt;'&lt;/span&gt;,&lt;br /&gt;     dataItem.from_user,&lt;br /&gt; &lt;span style="color: #006080"&gt;'&amp;lt;/a&amp;gt;'&lt;/span&gt;&lt;br /&gt;    ].join(&lt;span style="color: #006080"&gt;''&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #008000"&gt;// update `Avatar` cell with template&lt;/span&gt;&lt;br /&gt;    row.cells[1].innerHTML = [&lt;br /&gt; &lt;span style="color: #006080"&gt;'&amp;lt;img width=&amp;quot;48&amp;quot; height=&amp;quot;48&amp;quot;'&lt;/span&gt;,&lt;br /&gt; &lt;span style="color: #006080"&gt;' src=&amp;quot;'&lt;/span&gt;, dataItem.profile_image_url,&lt;br /&gt; &lt;span style="color: #006080"&gt;'&amp;quot; alt=&amp;quot;'&lt;/span&gt;, dataItem.from_user, &lt;span style="color: #006080"&gt;'&amp;quot; /&amp;gt;'&lt;/span&gt;&lt;br /&gt;     ].join(&lt;span style="color: #006080"&gt;''&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onDataBinding(e) {&lt;br /&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; grid = $(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).data(&lt;span style="color: #006080"&gt;'tGrid'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;    $(&lt;span style="color: #006080"&gt;'.t-status .t-icon'&lt;/span&gt;, grid.element).addClass(&lt;span style="color: #006080"&gt;'t-loading'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #008000"&gt;// call the twitter search api&lt;/span&gt;&lt;br /&gt;    $.ajax({&lt;br /&gt;     url: &lt;span style="color: #006080"&gt;'http://search.twitter.com/search.json'&lt;/span&gt;,&lt;br /&gt;     contentType: &lt;span style="color: #006080"&gt;'application/json; charset=utf-8'&lt;/span&gt;,&lt;br /&gt;     type: &lt;span style="color: #006080"&gt;'GET'&lt;/span&gt;,&lt;br /&gt;     dataType: &lt;span style="color: #006080"&gt;'jsonp'&lt;/span&gt;,&lt;br /&gt;     error: &lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(xhr, status) {&lt;br /&gt;         alert(status);&lt;br /&gt;     },&lt;br /&gt;     data: {&lt;br /&gt;         q: $(&lt;span style="color: #006080"&gt;'#searchText'&lt;/span&gt;).val()&lt;br /&gt;     },&lt;br /&gt;     success: &lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(result) {&lt;br /&gt;         grid.dataBind(result.results);&lt;br /&gt;         $(&lt;span style="color: #006080"&gt;'.t-status .t-icon'&lt;/span&gt;, grid.element).removeClass(&lt;span style="color: #006080"&gt;'t-loading'&lt;/span&gt;);&lt;br /&gt;     }&lt;br /&gt;    });&lt;br /&gt;}&lt;/pre&gt; &lt;br /&gt;&lt;/div&gt; &lt;div id="codeSnippetWrapper"&gt;I have attached a zip file with a runnable demo. Check it out!&lt;/div&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:80fbb390-8452-4dc4-a67e-3d258349b317" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/html.sflb" target="_self"&gt;html.grid.zip&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/QZU-BGPRZIo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/QZU-BGPRZIo/using_telerik_grid_for_asp_net_mvc_without_any_server-side_code.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-09/using_telerik_grid_for_asp_net_mvc_without_any_server-side_code.aspx</comments>
      <guid isPermaLink="false">3ea33274-a9b3-41f6-94bd-8c6db1513824</guid>
      <pubDate>Mon, 09 Nov 2009 09:08:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-09/using_telerik_grid_for_asp_net_mvc_without_any_server-side_code.aspx</feedburner:origLink></item>
    <item>
      <title>Telerik Extensions for ASP.NET MVC – Troubleshooting</title>
      <description>&lt;p&gt;Wow it has been a busy release! I am glad that we managed to release our first home-grown UI extensions for ASP.NET MVC. I hope you like them and please, please share your feedback in the &lt;a href="http://www.telerik.com/community/forums/aspnet-mvc/general.aspx"&gt;forum&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;In this blog post I will highlight the most common problems you may encounter while using the extensions and their solutions. Here we go:&lt;/p&gt; &lt;h2&gt;The control renders fine but its client-side features do not work&lt;/h2&gt; &lt;p&gt;The most common reason is that there is no &lt;strong&gt;ScriptRegistrar&lt;/strong&gt; or it is placed before the UI components. It is mandatory that you add a &lt;strong&gt;ScriptRegistrar &lt;/strong&gt;because the UI components require it to output their client-side objects and JavaScript files. A typical location is at the end of your master page (~/Views/Shared/Site.master by default). All you need to do is add the following line at the end of your master page (or view page for that matter):&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;%= Html.Telerik().ScriptRegistrar() %&amp;gt;&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Unfortunately due to the specifics of ASP.NET MVC we cannot programmatically detect whether there is a ScriptRegistrar in the page. &lt;/p&gt; &lt;h2&gt;The control is not skinned&lt;/h2&gt; &lt;p&gt;Make sure you have registered the common and skin CSS files. This could be done either by using &amp;lt;link&amp;gt; tags or via the &lt;strong&gt;StyleSheetRegistrar&lt;/strong&gt; component:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;%= Html.Telerik().StyleSheetRegistrar()&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                 .DefaultGroup(group =&amp;gt; group&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    .Add(&lt;span style="color: #006080"&gt;&amp;quot;telerik.common.css&amp;quot;&lt;/span&gt;)&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    .Add(&lt;span style="color: #006080"&gt;&amp;quot;telerik.vista.css&amp;quot;&lt;/span&gt;)&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                 )&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;%&amp;gt;&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;div&gt;&amp;#160;&lt;/div&gt; &lt;p&gt;By default the StyleSheetRegistrar will look in the ~/Content folder of your application.&lt;/p&gt; &lt;h2&gt;The filtering menu of the grid does not appear but the filtering icon is rendered&lt;/h2&gt; &lt;p&gt;This will occur if there is no ScriptRegistrar defined. See above for the solution. The rest of the features (paging, sorting) will work because the grid will fallback to server-side binding mode.&lt;/p&gt; &lt;h2&gt;The grid is using the wrong type during databinding&lt;/h2&gt; &lt;p&gt;The grid may fail to infer the right type of the data item if the collection is not IEnumerable&amp;lt;T&amp;gt; (for example List&amp;lt;T&amp;gt;). The reason is that the C# compiler prefers the Grid(T item) method instead of Grid(IEnumerable&amp;lt;T&amp;gt; dataSource). In a future release we will remove the Grid(T item) method. For now the workaround is to specify the type of the data item explicitly:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;%= Html.Telerik().Grid&amp;lt;Order&amp;gt;(Model) %&amp;gt;&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;h2&gt;The grid does not support templates and client-side binding (Ajax, WebService)&lt;/h2&gt; &lt;p&gt;Currently the grid does not support client-side templates. We will provide the same in a future release. For now the workaround is to use the &lt;strong&gt;Format &lt;/strong&gt;method for simple templates or the &lt;strong&gt;rowDataBound&lt;/strong&gt; event:&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Using Format:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;lt;%= Html.Telerik().Grid(Model)&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        .Name(&lt;span style="color: #006080"&gt;&amp;quot;Grid&amp;quot;&lt;/span&gt;)&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        .Columns(columns =&amp;gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            columns.Add(c =&amp;gt; c.CustomerID).Format(&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                Html.ActionLink(&lt;span style="color: #006080"&gt;&amp;quot;Edit&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;Home&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; { id = &lt;span style="color: #006080"&gt;&amp;quot;{0}&amp;quot;&lt;/span&gt;}})&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            ).Encoded(&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;).Title(&lt;span style="color: #006080"&gt;&amp;quot;Edit&amp;quot;&lt;/span&gt;);&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        })&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;%&amp;gt;&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Using rowDataBound:&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onRowDataBound(e) {&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #008000"&gt;//`this` is the DOM element of the grid&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; grid = $(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).data(&lt;span style="color: #006080"&gt;'tGrid'&lt;/span&gt;);&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #008000"&gt;//the DOM element (&amp;lt;tr&amp;gt;) representing the row which is being databound&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; row = e.row;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #008000"&gt;//the data item - JSON object.&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; dataItem = e.dataItem;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #008000"&gt;//You can use the OnRowDataBound event to customize the way data is presented on the client-side&lt;/span&gt;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    row.cells[1].innerHTML = &lt;span style="color: #006080"&gt;'&amp;lt;strong&amp;gt;'&lt;/span&gt; + dataItem.text + &lt;span style="color: #006080"&gt;'&amp;lt;/strong&amp;gt;'&lt;/span&gt;;&lt;/pre&gt; &lt;!--CRLF--&gt; &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt; &lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Hope this helps!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/mHR-QFy3sTo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/mHR-QFy3sTo/telerik_extensions_for_asp_net_mvc_–_troubleshooting.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-09/telerik_extensions_for_asp_net_mvc_%e2%80%93_troubleshooting.aspx</comments>
      <guid isPermaLink="false">0d3dfe80-f604-4d9c-91fe-c15aaab2d6ca</guid>
      <pubDate>Mon, 09 Nov 2009 09:06:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-09/telerik_extensions_for_asp_net_mvc_–_troubleshooting.aspx</feedburner:origLink></item>
    <item>
      <title>RadElement Lifecycle &amp;ndash; a WinForms TPF Story</title>
      <description>&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 18px;"&gt;Why new TPF improvement?&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;
Knowing that the faster an application loads, the better the overall User Experience is, we put serious efforts in optimizing our presentation framework as much as possible. Since Q3 2009, RadElement, the smallest visual unit in Telerik Presentation Framework (TPF) has been given its own lifecycle. The major benefit of this new improvement is a &lt;em&gt;significant &lt;/em&gt;boost during the loading and disposing stages. Simple tests prove that controls load and dispose from 50% up to 300% faster, depending on the depth of the corresponding element tree hosted in each control.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-size: 18px;"&gt;Some Technical Stuff&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;
A RadElement instance may now enter the following states:    &lt;br /&gt; &lt;strong&gt; &lt;br /&gt;
Constructing:       &lt;br /&gt; &lt;/strong&gt;The element is in a process of being constructed. Layout operations are forbidden and Property Notifications are not raised.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Constructed:      &lt;br /&gt; &lt;/strong&gt;The element has already been successfully constructed and its child elements created. Layout operations are forbidden and Property Notifications are allowed.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Loading:      &lt;br /&gt; &lt;/strong&gt;The element is in a process of being loaded. Layout operations are not allowed.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Loaded:     &lt;br /&gt; &lt;/strong&gt;The element has already been successfully loaded. An element is considered “Loaded” when the owning RadControl’s handle has been successfully created and the control may be visualized on the screen. At this stage all layout operations as well as property notifications are allowed.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Unloaded:     &lt;br /&gt; &lt;/strong&gt;A special state, which indicates that the element has been successfully loaded one or more times, but now it either does not reside in a valid element tree, or its owning RadControl does not have a handle created. Layout operations are not allowed.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Disposing:     &lt;br /&gt; &lt;/strong&gt;The element is in a process of being disposed of. All layout operations and Property Notifications are forbidden.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;Disposed:&lt;/strong&gt; &lt;br /&gt;
The element has already been successfully disposed of and may not be used further, otherwise ObjectDisposedException will be thrown.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-size: 18px;"&gt;Simple Performance Tests&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;To measure the actual benefit of this improvement, we performed several simple tests, which do nothing but create several hundred instances of a given control type -- e.g. RadButton -- and measure the time needed to accomplish the task.    Here are the results for:    &lt;br /&gt; &lt;br /&gt;
200 Buttons (Q2 2009 vs. Q3 2009):&lt;br /&gt; &lt;a target="_blank" href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_2.sflb"&gt;&lt;img height="166" width="550" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_thumb.sflb" alt="image" style="border: 0px none ; display: inline;" title="image" /&gt;&lt;/a&gt; &lt;br /&gt;
&amp;nbsp;&lt;br /&gt; &lt;em&gt;As you can see, the loading time boost here is nearly 3,5 times or about 350%&lt;br /&gt;
&amp;nbsp; &lt;/em&gt;&lt;/p&gt; &lt;p&gt;100 Grids  (Q2 2009 vs. Q3 2009):&lt;br /&gt; &lt;a target="_blank" href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_4.sflb"&gt;&lt;img height="165" width="550" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_thumb_1.sflb" alt="image" style="border: 0px none ; display: inline;" title="image" /&gt;&lt;/a&gt; &lt;br /&gt;
&amp;nbsp;&lt;br /&gt; &lt;em&gt;The boost here is less but is still significant – about 40%&lt;br /&gt;
&amp;nbsp; &lt;/em&gt;&lt;/p&gt; &lt;p&gt;100 RibbonBars  (Q2 2009 vs. Q3 2009):&lt;br /&gt; &lt;a target="_blank" href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_6.sflb"&gt;&lt;img height="165" width="550" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-RadElementLifecycleaTPFStory_F933-image_thumb_2.sflb" alt="image" style="border: 0px none ; display: inline;" title="image" /&gt;&lt;/a&gt; &lt;br /&gt;
&amp;nbsp;&lt;br /&gt; &lt;em&gt;We are experiencing about 20% better loading time here.     &lt;br /&gt; &lt;br /&gt; &lt;/em&gt;&lt;strong&gt;&lt;span style="font-size: 18px;"&gt;Usability and Extensibility&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;/strong&gt;And last (but not least) comes the fact that the new lifecycle offers easy to read and understand, yet flexible to extend, methods and entry points, which allow you to completely override any behavior at any stage. Such methods are:    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;OnLoad&lt;/strong&gt; – implements element’s load semantic.    &lt;br /&gt; &lt;strong&gt;OnLoaded &lt;/strong&gt;– notifies the element that it has been successfully loaded.    &lt;br /&gt; &lt;strong&gt;OnUnload – &lt;/strong&gt;implements the core unload semantic.    &lt;br /&gt; &lt;strong&gt;OnUnloaded –&lt;/strong&gt; notifies the element that is has been successfully unloaded from its previous element scene.    &lt;br /&gt; &lt;strong&gt;OnElementTreeChanged –&lt;/strong&gt; provides convenient way for inheritors to add custom logic upon element tree change.    &lt;br /&gt; &lt;strong&gt;OnParentChanged –&lt;/strong&gt; provides convenient way for inheritors to add custom logic upon parent change.    &lt;br /&gt; &lt;strong&gt;UpdateReferences –&lt;/strong&gt; implements the core semantic of caching references to the current element tree and layout manager as well as update of some parent-dependent values such as tree level, inheritable element state, etc.    &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-size: 18px;"&gt;Future improvements&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;
Well, we are planning some other TPF optimizations, which will boost both loading time and overall performance, but we will keep them in secret until they are complete :-) So, stay tuned.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/vXHl3R3L0gw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/vXHl3R3L0gw/radelement_lifecycle_ndash_a_tpf_story.aspx</link>
      <author>WinForms Team</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-04/radelement_lifecycle_ndash_a_tpf_story.aspx</comments>
      <guid isPermaLink="false">84b48ada-b376-487b-a70a-697aee2c1ab3</guid>
      <pubDate>Fri, 06 Nov 2009 12:00:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-04/radelement_lifecycle_ndash_a_tpf_story.aspx</feedburner:origLink></item>
    <item>
      <title>Welcome the WebUI Test Studio v2.0!</title>
      <description>&lt;p&gt;I’m happy to announce that after all the efforts of the ArtOfTest and Telerik teams during the last several months the product is now ready for you to enjoy! WebUI Test Studio v2.0 (Beta) is out with the Q3 2009 release and the final v2.0 is expected in December. &lt;p&gt;&lt;b&gt;WebAii Framework&lt;/b&gt; &lt;p&gt;First of all, our advanced Click &amp;amp; Play automation solution is now upgraded with the latest &lt;a href="http://www.telerik.com/products/web-testing-tools/webaii-framework-features.aspx"&gt;WebAii Testing Framework&lt;/a&gt;! This means that all the additions we worked on and released till now in the automation framework are finally available in WebUI Test Studio as well. For all interested in the framework upgrade I’d like to point you to the following resources: &lt;p&gt;&lt;a href="http://www.artoftest.com/community/blogs/09-03-25/WebAii_2_0_Beta_Released.aspx"&gt;WebAii 2.0 Beta Announcement at the beginning of 2009&lt;/a&gt; – this lists the important new features coming with the new WebAii 2.0 version. &lt;p&gt;&lt;a href="http://www.artoftest.com/community/blogs/09-06-29/WebAii_2_0_Beta2_Released.aspx"&gt;WebAii 2.0 Beta 2 Important Updates&lt;/a&gt; – a more recent announcement about major updates. &lt;p&gt;&lt;a href="http://www.telerik.com/account/downloads/product-versions.aspx?pid=691"&gt;WebAii Testing Framework release history till Q2&lt;/a&gt; – log in and check all the framework improvements (including the RadControls AJAX and Silverlight wrappers) for the last couple of months. &lt;p&gt;as well as the core &lt;a href="http://www.artoftest.com/support/webaii/topicsindex.aspx"&gt;WebAii documentation&lt;/a&gt;. &lt;p&gt;&lt;b&gt;Automation Design Canvas&lt;/b&gt; &lt;p&gt;Well, that was just the beginning! The good news come for all the Silverlight automation enthusiasts– WebUI Test Studio v2.0 features the completely scriptless built-in support for Silverlight (including v3) automation. Everything you’ve been able to accomplish with the ASP.NET automation (and much more) is now possible for Silverlight! Simple mouse interactions over the loaded application generate your automated tests, seamlessly running for all the supported browsers (IE, FF and now Safari on Windows) and maintained completely design-time via the cool Design Canvas plug-ins. The UI Explorer shows the entire visual tree and is also connected to the automation surface so that you can easily choose the element and check the tree of sub and parent elements.  &lt;p&gt;I highly recommend reviewing the &lt;a href="http://www.artoftest.com/community/blogs/09-11-04/Design_Canvas_2_0_Beta_Released.aspx"&gt;Design Canvas 2.0 Beta announcement by ArtOfTest&lt;/a&gt; describing the great new additions and improvements in the product. &lt;p&gt;&lt;b&gt;Built-in RadControls Automation&lt;/b&gt; &lt;p&gt;The &lt;a href="http://www.telerik.com/products/aspnet-ajax"&gt;RadControls for ASP.NET AJAX&lt;/a&gt; Translators were migrated for Design Canvas 2.0 assuring complete backwards compatibility for everyone who worked with WebUI Test Studio 1.X before. Upon loading the old test projects with the new version you will be prompted if you accept the project migration and then the task is done in the background for you.  &lt;p&gt;Also, we added Translators for almost all our &lt;a href="http://www.telerik.com/products/silverlight.aspx"&gt;Silverlight UI components&lt;/a&gt;. We will keep improving them as well as adding the ones still missing for the final release. A couple of snapshots follow demonstrating the new interactive highlighting surface. &lt;p&gt;The GridView Translator “Fans” and locators -- you no longer need to right-click to get the element menu, just hover over the element and it pops up in a second: &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image002_2.sflb"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="312" alt="clip_image002" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image002_thumb.sflb" width="644" border="0"&gt;&lt;/a&gt; &lt;p&gt;The Scheduler AppointmentItem Translator in action: &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image004_2.sflb"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="372" alt="clip_image004" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image004_thumb.sflb" width="644" border="0"&gt;&lt;/a&gt; &lt;p&gt;Charting Title Verification on the fancy Sales Report demo: &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image006_2.sflb"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="319" alt="clip_image006" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image006_thumb.sflb" width="644" border="0"&gt;&lt;/a&gt; &lt;p&gt;Verification options for the settings of the new CoverFlow: &lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image008_2.sflb"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="clip_image008" src="http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-clip_image008_thumb.sflb" width="619" border="0"&gt;&lt;/a&gt; &lt;p&gt;And these are just a few of the hundred possible options currently in. &lt;p&gt;Are you ready to play with the tool? Go download the new version from &lt;a href="http://www.telerik.com/account"&gt;your account&lt;/a&gt; and let us know of your feedback. As always it is highly appreciated! &lt;p&gt;Some more resources: &lt;p&gt;&lt;a href="http://www.telerik.com/products/web-testing-tools/webui-test-studio-features.aspx"&gt;WebUI Test Studio Features&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/products/whats-new-webui-test-studio.aspx"&gt;What’s new in the WebUI Test Studio Q3 2009 release&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/products/web-testing-tools/whats-new-webui-test-studio/release-history/q3-2009-beta.aspx" target="_blank"&gt;WebUI Test Studio Release History -- Q3 2009 Beta&lt;/a&gt; &lt;p&gt;&lt;a href="http://tv.telerik.com/webui-test-studio/video/telerik-webui-test-studio-product-video-q3-2009"&gt;The new product video on Telerik TV&lt;/a&gt; &lt;p&gt;Happy automating! &lt;p&gt;-Konstantin&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/jZxR6BnXtD0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/Telerik/~3/jZxR6BnXtD0/welcome_the_webui_test_studio_v2_0.aspx</link>
      <author>Telerik QA Dept.</author>
      <comments>http://blogs.telerik.com/blogs/posts/09-11-06/welcome_the_webui_test_studio_v2_0.aspx</comments>
      <guid isPermaLink="false">f286dadb-8ac5-4930-a126-435f9edaa3e2</guid>
      <pubDate>Fri, 06 Nov 2009 08:09:00 GMT</pubDate>
    <feedburner:origLink>http://blogs.telerik.com/blogs/posts/09-11-06/welcome_the_webui_test_studio_v2_0.aspx</feedburner:origLink></item>
  </channel>
</rss>
