Search code examples
c#javascriptasp.nettelerikradgrid

AllowPaging after printing data in radGrid Telerik Asp.Net


I have been searching for a method to print data in radGrid Telerik and i found a way from Here As following:

Code Behind

radGrid.CurrentPageIndex                      = 0;
radGrid.ClientSettings.Scrolling.AllowScroll  = false;
radGrid.AllowPaging                           = false;
radGrid.AllowFilteringByColumn                = false;
radGrid.MasterTableView.GroupsDefaultExpanded = true;
radGrid.Rebind();

foreach (GridItem item in radGrid.MasterTableView.GetItems(new GridItemType[] { GridItemType.Pager, GridItemType.FilteringItem }))
            item.Display = false;

RadAjaxPanel1.ResponseScripts.Add("PrintRadGrid('" + radGrid.ClientID + "')");

JavaScript:

function PrintRadGrid() {
var radGridE = $find('<%= radGrid.ClientID %>');
var previewWindow = window.open('about:blank', '', '', false);
var styleSheet = '<%= Telerik.Web.SkinRegistrar.GetWebResourceUrl(this.Page, radGrid.GetType(), String.Format("Telerik.Web.UI.Skins.{0}.Grid.{0}.css", radGrid.Skin)) %>';
var baseStyleSheet = '<%= Telerik.Web.SkinRegistrar.GetWebResourceUrl(this.Page, radGrid.GetType(), "Telerik.Web.UI.Skins.Grid.css") %>';
var htmlContent = "<html><head><link href = '" + styleSheet + "' rel='stylesheet' type='text/css'></link>";

htmlContent += "<link href = '" + baseStyleSheet + "' rel='stylesheet' type='text/css'></link></head>";
htmlContent = htmlContent + "<body>" + getOuterHTML(radGridE.get_element()) + "</body></html>";
previewWindow.document.open();
previewWindow.document.write(htmlContent);
previewWindow.document.close();
previewWindow.print();

if (!$telerik.isChrome) {
            previewWindow.close();
 }
}

The code is working well BUT it disables the Paging to print all pages. Now i want a way to Allow Paging again without refreshing the page.

How to set AllowPaging to true again without refresh the page?


Solution

  • Initiate a postback (preferably AJAX) after printing and enable paging in the code-behind. See how to initiate an ajaxRequest here: http://www.telerik.com/help/aspnet-ajax/ajax-client-side-api.html