Progress Bar or Similar stuff for Radgrid

3 posts, 0 answers
  1. Kevin
    Kevin avatar
    16 posts
    Member since:
    Aug 2009

    Posted 25 Aug 2009 Link to this post

    I had scenario where I need to display a progress bar or something to show the user the process is being done. this has to be done while inserting, updating or deleting a record from radgrid. any suggestions will be appreciated.

  2. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 25 Aug 2009 Link to this post

    Hi Kevin,

    I would suggest you to use RadAjaxLoadingPanel as a progress indicator. You can also go through the following online demo which uses RadAjaxLoadingPanel.

  3. DevCraft R3 2016 release webinar banner
  4. croach01
    croach01 avatar
    22 posts
    Member since:
    Aug 2007

    Posted 22 Aug 2012 Link to this post

    I've implemented the technique outlined here.

    Basically, you handle the requestStart method of the RadAjaxPanel / RadAjaxManager which is needed for exporting anyway. Here, you can show a loading panel or other loading graphic, start a timer to check for a cookie from the server and when the cookie is found, you hide any loading graphics.  The following example is taken from a control I created that is a wrapper for my RadGrid.  My control contains a RadAjaxPanel, a RadAjaxLoadingPanel, and a HiddenField.  The hidden field contains the token used between the client and server.  The call to $.cookie requires the jquery.cookie plugin located here

    On the server you need to do handle the OnExporting event of the RadGrid:
    /// <summary>
    /// Aid in the hiding/showing of a loading panel while the export process is ocurring.
    /// hdDownloadToken contains a timestamp (token) of when the export started.  This is
    /// then passed back in the header of the response from the export engine and accessed
    /// via a timer on the client.  Once the client detects the token, it hides the loading message.
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void RadGrid1_GridExporting(object sender, GridExportingArgs e)
        Response.AppendCookie(new HttpCookie("fileDownloadToken", hdDownloadToken.Value));

    On the client you need to do something like the following:
    _requestStart: function (sender, args)
            if (args.get_eventTarget().indexOf("ExportToPdfButton") >= 0 || args.get_eventTarget().indexOf("ExportToExcelButton") >= 0)
                // show the loading panel
                this._loadingPanel = $find(this.get_loadingPanelID());
                // store the timestamp for access on the server
                this._downloadToken = new Date().getTime();
                $('#' this.get_downloadTokenFieldID()).val(this._downloadToken);
                // setup the timer to check for the completion of the file download
                var me = this;
                var checkTick = $.proxy(me._downloadCheckTick, me);
                this._downloadTimer = setInterval(checkTick, 1000);
                // need this for exporting to work
        _downloadCheckTick: function ()
            // ticks every second
            // check for the cookie from the GridExporting event on the server.
            // if the token exists, fire the finished function
            var cookieValue = $.cookie('fileDownloadToken');
            if (cookieValue == this._downloadToken)
        _downloadFinished: function ()
            // clear the timer, hide the loading panel and clear the cookie
Back to Top