Kendo UI for jQuery数据管理使用教程:打印

Kendo UI for jQuery数据管理使用教程:打印_第1张图片


Kendo UI目前最新提供Kendo UI for jQueryKendo UI for AngularKendo UI Support for ReactKendo UI Support for Vue四个控件。Kendo UI for jQuery是创建现代Web应用程序的完整UI库。


打印

即使Grid的内容可能不是页面上的唯一内容,Grid也提供忽略页面其余部分并仅打印其内容的选项。

要仅从页面上打印Grid,请使用以下两种方法:

打印现有页面,并使用打印CSS隐藏不相关的内容。

打印仅带有Grid的单独网页。

打印现有网页

若要仅将Grid作为现有网页的一部分进行打印,请使用打印样式表隐藏页面中不需要的部分,确切的CSS打印取决于现有页面内容。

打印新网页

下面的示例演示如何检索GridHTML,如何将其注入到新的浏览器窗口中以及打印新页面。此方法还解决了以下重要问题:

  • Grid是可滚动的,则某些行或列在打印的纸张上可能不可见。因此,在易于打印的页面上禁用Grid高度和可滚动性。

  • 根据列的宽度,某些单元格内容可能会被剪裁而无法完全看到。 通过强制对Grid表强制使用自动表布局(可禁用省略号(…)),可以解决此问题。

  • 如果启用了滚动(除GridMVC封装器以外,默认情况下已设置滚动),则Grid会为标题区域呈现一个单独的表。因为浏览器不关联两个Grid表,所以它不会在每个打印页面的顶部重复标题行。 下面的示例演示了如何通过将标题表行复制到数据表中来解决此问题。

  • 当您打印具有锁定(冻结)列的Grid时,结果列或行可能未对齐,或者整体布局可能损坏。 在这种情况下,请使用没有冻结列的单独的打印友好的Grid实例。

”grid>

function printGrid() {
var gridElement = $(#grid),
printableContent = ,
win = window.open(, , width=800, height=500, resizable=1, scrollbars=1),
doc = win.document.open();

var htmlStart =
+
+
+
utf-8 /> +
KendoUI Grid +
”https://kendo.cdn.telerik.com/ + kendo.version + /styles/kendo.common.min.css rel=stylesheet /> +
+
+
;

var htmlEnd =
+
;

var gridHeader = gridElement.children(.k-grid-header);
if (gridHeader[0]) {
var thead = gridHeader.find(thead).clone().addClass(k-grid-header);
printableContent = gridElement
.clone()
.children(.k-grid-header).remove()
.end()
.children(.k-grid-content)
.find(table)
.first()
.children(tbody).before(thead)
.end()
.end()
.end()
.end()[0].outerHTML;
} else {
printableContent = gridElement.clone()[0].outerHTML;
}

doc.write(htmlStart + printableContent +htmlEnd);
doc.close();
win.print();
}

$(function () {
var grid = $(#grid).kendoGrid({
dataSource: {
type: odata,
transport: {
read: https://demos.telerik.com/kendo-ui/service/Northwind.svc/Products
},
pageSize: 20,
serverPaging: true,
serverSorting: true,
serverFiltering: true
},
toolbar: kendo.template($(#toolbar-template).html()),
height: 400,
pageable: true,
columns: [
{ field: ProductID, title: Product ID, width: 100 },
{ field: ProductName, title: Product Name },
{ field: UnitPrice, title: Unit Price, width: 100 },
{ field: QuantityPerUnit, title: Quantity Per Unit }
]
});

$(#printGrid).click(function () {
printGrid();
});

});


公司名称:北京哲想软件有限公司

北京哲想软件官方网站:www.cogitosoft.com

北京哲想软件微信公众平台账号:cogitosoftware

北京哲想软件微博:哲想软件

北京哲想软件邮箱:[email protected]

销售(俞先生)联系方式:+86(010)68421378

微信:18610247936 QQ:368531638


你可能感兴趣的:(Kendo UI for jQuery数据管理使用教程:打印)