3
我使用Kendo Grid的內置功能來導出pdf格式的網格數據和excel http://demos.telerik.com/kendo-ui/grid/pdf-export。它對我來說工作得很好。我想定製導出的數據,即添加一些額外的列並刪除一些網格列。有什麼方法可以使用模板或其他功能來自定義導出數據。自定義Kendo Grid中的數據pdf導出
在此先感謝。
我使用Kendo Grid的內置功能來導出pdf格式的網格數據和excel http://demos.telerik.com/kendo-ui/grid/pdf-export。它對我來說工作得很好。我想定製導出的數據,即添加一些額外的列並刪除一些網格列。有什麼方法可以使用模板或其他功能來自定義導出數據。自定義Kendo Grid中的數據pdf導出
在此先感謝。
你有兩個選擇:
pdfExport
在生成PDF之前觸發的事件,並使用showColumn
和hideColumn
方法隱藏/顯示列。以下代碼顯示了第二種方法(儘管我個人喜歡首先)。在點擊導出按鈕之前,您會看到EmployeeID
,但PDF不包含此列,但包含Country
。
$(document).ready(function() {
kendo.pdf.defineFont({
"DejaVu Sans" : "http://cdn.kendostatic.com/2014.3.1314/styles/fonts/DejaVu/DejaVuSans.ttf",
"DejaVu Sans|Bold" : "http://cdn.kendostatic.com/2014.3.1314/styles/fonts/DejaVu/DejaVuSans-Bold.ttf",
"DejaVu Sans|Bold|Italic" : "http://cdn.kendostatic.com/2014.3.1314/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf",
"DejaVu Sans|Italic" : "http://cdn.kendostatic.com/2014.3.1314/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf"
});
var grid = $("#grid").kendoGrid({
toolbar: ["pdf"],
pdf: {
fileName: "Kendo UI Grid Export.pdf",
proxyURL: "http://demos.telerik.com/kendo-ui/service/export"
},
dataSource: {
type: "odata",
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Employees",
}
}
},
columns: [
{
title: "Photo",
width: 140,
template :'<img src="http://demos.telerik.com/kendo-ui/content/web/Employees/#: data.EmployeeID #.jpg" alt="#: EmployeeID #" />'
},
{ field: "FirstName" },
{ field: "LastName" },
{ field: "Country", hidden: true },
{ field: "EmployeeID" }
],
scrollable: false,
pdfExport: function(e) {
grid.showColumn(3);
grid.hideColumn(4);
}
}).data("kendoGrid");
});
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.common.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.default.min.css" />
<script src="http://cdn.kendostatic.com/2014.3.1316/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1316/js/jszip.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1316/js/kendo.all.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1316/js/pako_deflate.min.js"></script>
<div id="grid"></div>
Thanks.In第二個選項,單擊導出按鈕網格change.I不想知道列太happen.For隱藏/顯示我使用ColumnMenu列出的列後,這個工具完全沒問題。你可以分享你給出的第一個選項的代碼片段,我無法跟隨。 – pogo22 2015-01-22 06:12:50
我的意圖是從網格獲取導出數據,其他一些數據源可能是相同的json文件,它是網格源或與網格數據有一些關係的其他json文件。 – pogo22 2015-01-22 06:16:36
你可以發佈你的第一個建議的代碼示例嗎?我更喜歡這一點,因爲它不會改變頁面上的網格外觀。但我使用MVC擴展,所以不太熟悉使用JS網格選項。我想我會想在JS中完全創建一個新的網格(我可以做,不提供jquery選擇器嗎?),將數據源複製到新的網格,然後調用新網格的saveAsExcel()方法? – SventoryMang 2016-11-04 18:22:39