在radGrid Telerik Asp.Net 中打印数据后允许分页
本文关键字:许分页 分页 数据 Telerik radGrid Asp Net 打印 | 更新日期: 2023-09-27 17:55:38
我一直在寻找一种在radGrid Telerik中打印数据的方法,我找到了一种方法 这里 如下:
代码隐藏
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();
}
}
代码运行良好,但它禁用分页以打印所有页面。现在我想要一种方法在不刷新页面的情况下再次允许分页。
如何在不刷新页面的情况下再次将允许分页设置为 true?
打印后启动回发(最好是 AJAX),并在代码隐藏中启用分页。在此处查看如何启动 ajax请求:http://www.telerik.com/help/aspnet-ajax/ajax-client-side-api.html