Skip to content

The Dummy Programmer

Stories of daily programming

  • Home
  • The Dummy Programmer Robot
    • Overview
    • Version history & downloads
    • Tutorials
      • TDP Robot – The basics
      • A simple SQL Server backup solution
      • A simple SQL Server backup solution – A next step
  • My other dummy projects
  • Games
    • Space Y: An Asteroids clone
  • Services
    • What’s my user agent
    • What’s my IP address
  • About
  • Toggle search form

Telerik RadGrid’s pagination hangs

Posted on July 31, 2021July 31, 2021 By

Today I want to talk you about a problem I faced in these last days working on a ASP.NET web form project. In this project I used the library “UI for ASP.NET AJAX” from Telerik, and in particular the problem occurred using the RadGrid control.

What was the problem? In a nutshell, without an explanation, the pagination of the RadGrid control stopped working, with the control stuck on page 2. After trying several changes to the source code, I realized that the problem was in a function whose purpose was get the reference to a control in an ASP.NET page or control in a recursive way (a kind of recursive FindControl).

The “offending” function was taken on the Internet and looks like the following:

public static Control FindControlRecursive(Control container, string name)
{
    if ((container.ID != null) && (container.ID.Equals(name)))
        return container;

    foreach (Control ctrl in container.Controls)
    {
        Control foundCtrl = FindControlRecursive(ctrl, name);
        if (foundCtrl != null)
            return foundCtrl;
    }
    return null;
}

There is nothing wrong in the function above, and you can find many similar on the Internet which do same task. Moreover the function is not modifying anything, it just recursively reads the control collection of each control, and looks for the control ID passed as a parameter.

What’s the solution?

As already said there was no explanation to this phenomenon, and so the only solution I found is in fact a workaround, which consists in modifying the function as follow:



public static Control FindControlRecursive(Control container, string name)
{
    if ((container.ID != null) && (container.ID.Equals(name)))
        return container;

    foreach (Control ctrl in container.Controls)
    {
        if (ctrl is RadGrid)
            continue;

        Control foundCtrl = FindControlRecursive(ctrl, name);
        if (foundCtrl != null)
            return foundCtrl;
    }
    return null;
}

For some reason the RadGrid object doesn’t like that you read its control collection, so adding the two lines of code in bold did the trick.

It’s a very simple workaround, but I assure you that I spent a lot of time to find it, and I’m very happy to share this solution with you.

Hope this helps 😉

ASP.NET, C#

Post navigation

Previous Post: TDP Robot version 0.60.0.0
Next Post: C# async / await behind the scenes

Related Posts

Could not load file or assembly ‘DocumentFormat.OpenXml, Version=2.7.2.0 C#
HTTP 500 – Internal server error in an ASP.NET application ASP.NET
Working with C# async / await keywords (part 2 of 3) C#
Push notifications library with C# and .NET Framework C#
NPOI and Excel found unreadable content in ‘[filename].xls’ ASP.NET
Working with C# async / await keywords (part 3 of 3) C#

Search

Related posts

  • Telerik RadGrid rendering problems with IE11 in…

Categories

  • .NET 6 (1)
  • AJAX (1)
  • Android (2)
  • Apache (4)
  • ASP.NET (9)
  • ASP.NET MVC (3)
  • Avalonia UI (1)
  • BCP (1)
  • Bitlocker (2)
  • C# (14)
  • CentOS (4)
  • ClosedXML (1)
  • CLR (1)
  • DNS (1)
  • Encryption (3)
  • Excel (2)
  • FuelPHP (3)
  • Games (2)
  • Google Chrome (1)
  • GSuite (1)
  • HTML (1)
  • Imagick (2)
  • Javascript (1)
  • Kindle (1)
  • LAMP (3)
  • Linux (6)
  • MariaDB (2)
  • Mathematics (2)
  • MySql (4)
  • NPOI (1)
  • Office 365 (1)
  • Perl (1)
  • PHP (6)
  • Programming (1)
  • Remote desktop (1)
  • SFTP (2)
  • Sockets (3)
  • Sql Server (18)
  • Sql Server 2016 (14)
  • Sql Server 2019 (1)
  • SSL (2)
  • Task scheduler (1)
  • Telerik ASP.NET AJAX (2)
  • The Dummy Programmer Chat (2)
  • The Dummy Programmer Robot (6)
  • Threading (5)
  • Tools (1)
  • TPL (3)
  • TypeScript (3)
  • Ubuntu (4)
  • Virtualization software (3)
  • Visual Studio (1)
  • Visual Studio Code (2)
  • Web fonts (1)
  • Web programming (6)
  • Windows (12)
  • Windows 10 (15)
  • Windows Forms (1)
  • Windows Server (6)

Copyright © 2023 The Dummy Programmer | Privacy Policy | Terms of use |

Powered by PressBook Masonry Dark