Telerik UI for ASP。网络核心?下载30天免费试用

印刷

尽管Grid的内容可能不是页面上的唯一内容,但Grid提供了忽略页面其余部分并只打印其内容的选项。

要从页面中只打印网格,请使用以下方法之一:

  • 打印现有页面,用打印CSS隐藏不相关的内容。
  • 打印一个单独的网页,上面只有网格。

打印现有网页

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

打印新网页

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

  • 如果“网格”是可滚动的,则某些行或列在打印的纸张上可能不可见。因此,在打印友好的页面上禁用了网格高度和可滚动性。
  • 根据列宽度的不同,一些单元格内容可能会被剪切而不完全可见。这个问题通过强制自动解决表布局到禁用省略号的Grid表(...).
  • 如果启用了滚动(除了网格的MVC包装器外,这是默认设置),网格将呈现一个标题区单独的表.因为浏览器没有关联这两个Grid表,所以它不会在每个打印页面的顶部重复标题行。下面的示例演示如何通过将头表行克隆到数据表中来解决此问题。
  • 当打印列被锁定(冻结)的Grid时,结果列或行可能会不对齐,或者整体布局会被破坏。在这种情况下,使用单独的打印友好的Grid实例,不冻结列。

     @(Html.Kendo().Grid() .Name(" Grid") .Columns(c => {c. bound (f => f. orderid);c.绑定(f => f.ShipCountry);}) .DataSource (d = > {d.Ajax () .Read (r = > r.Action(“ReadOrders”、“家”));})) <脚本>函数printGrid() {var gridElement = $('#grid'), printableccontent = ", win =窗口。Open (", ", 'width=800, height=500, resized =1, scrollbars=1'), doc = win.document.open();var htmlStart = '' + '' + '' + '' + '剑道UI Grid
    ' + ' ' + '' + '' + ''; var htmlEnd = '
    Baidu
    ' + ''; 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(); } $('#printGrid').click(function () { printGrid(); });
          < DataSourceTagHelperType。Ajax"> <传输> <读取url="@Url.Action("Read_Orders","Home")"/>    ' + ' ' + '' + '' + ''; var htmlEnd = '
    Baidu
    ' + ''; 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(); } $('#printGrid').click(function () { printGrid(); });

另请参阅

在本文中
Baidu
map