Telerik blogs

Latest

  • Web

    Internet Explorer JavaScript Performance Tip - use the "children" property

    Today I was profiling the initialization time of RadTreeView for ASP.NET Ajax and found out that the biggest bottleneck was traversing the DOM tree. The code looks something like this: //get_childListElement() returns an HTML element  var childNodes = parent.get_childListElement().childNodes;  for (var i = 0, length = childNodes.length; i < length; i++)  {       var childNode = childNodes[i];         //Perform additional initialization  }  I tested with 10000 elements and in IE7 I got about 25000ms whilst in FireFox the total time was around 33ms (Core 2 Duo @ 2.33GHz). Quite a difference if you ask me. I thought that there may be some IE specific method/property which could perform better and I dug into MSDN. And a few minutes later I found the children property!!! Apparently the children collection contains only HTML elements (whilst childNodes is full of...
    August 14, 2008
  • Web

    How To: RadGridView for WPF paging, sorting and filtering of 1mil. records with LINQ to SQL

    I've made small example how to perform paging, sorting and filtering directly on the data-base sever using LINQ to SQL and RadGridView for WPF. The data-base is not included however you can use the same code with any data-base with following modifications: - change the connection string in the app.config file - change the table name in BindGrid() method:     IQueryable queryable = new DataClasses1DataContext().[Your Table].AsQueryable(); - define desired total number of items per page and total page count - change the filter expression in the filter button click event handler to desired (currently Contains for Name...
    August 13, 2008
  • Web

    How To: RadGrid hierarchy from objects hierarchy

    Every once in a while we receive support about how to create hierarchical grid directly from objects hierarchy and I decided to post small example how to achieve this easily:   protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)   {     RadGrid1.DataSource = MyList;   }   protected void RadGrid1_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)   {     e.DetailTableView.DataSource = MyList.Find(          delegate(Master master)          {            return master.ID == Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("ID"));         ...
    August 11, 2008
  • Web ASP.NET AJAX

    RadTreeView for ASP.NET Ajax Load On Demand Modes - why so many?

    In my previous blog post I told you how the Web Service load on demand mode of RadTreeView delivers the best performance. A logical question arises - why we have the other load on demand modes (server side postback and callback) if they do not perform on par with the Web Service mode. The answer is not that obvious. The truth is every load on demand mode has its pros and cons. The following table describes visually the load on demand modes according to three criterions - performance, templates support, ease of...
    August 08, 2008
  • Web ASP.NET AJAX

    Best Practices: Client-Side DataBinding with the RadGrid for ASP.NET AJAX

    I recently released the first two episodes of my new screencast series, RadTips. In these episodes I show users how to take advantage of the new client-side databinding feature of the RadGrid (only available in the Q2 2008 release of RadControls for ASP.NET). I wanted to highlight what we consider to be a best practice when using the RadGrid's client-side API to do your databinding, something I didn't do in either of the episodes. While client-side databinding can save some bandwidth and improve round-trip speeds on subsequent requests, it is actually faster to to bind data to the RadGrid on the...
    August 08, 2008