Kendo ui 自定义剑道网格pdf导出中的数据
我正在使用剑道网格的内置功能以pdf和excel格式导出网格数据。这对我来说很好。我想自定义导出的数据,即添加一些附加列并删除网格中的一些列。是否有任何方法可以使用模板或其他功能自定义导出数据 提前感谢。您有两个选择:Kendo ui 自定义剑道网格pdf导出中的数据,kendo-ui,telerik,kendo-grid,Kendo Ui,Telerik,Kendo Grid,我正在使用剑道网格的内置功能以pdf和excel格式导出网格数据。这对我来说很好。我想自定义导出的数据,即添加一些附加列并删除网格中的一些列。是否有任何方法可以使用模板或其他功能自定义导出数据 提前感谢。您有两个选择: 使用要导出为PDF的列定义第二个网格,当要求导出时,实际导出第二个网格。两个网格应该共享数据源,以便过滤、排序。。。将被共享 截获生成PDF之前触发的pdfExport事件,并使用showColumn和hideColumn方法隐藏/显示列 下面的代码显示了第二种方法(尽管我个人更
pdfExport
事件,并使用showColumn
和hideColumn
方法隐藏/显示列EmployeeID
,但PDF不包含此列,而是包含国家
$(文档).ready(函数(){
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无斜体”:http://cdn.kendostatic.com/2014.3.1314/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf"
});
var grid=$(“#grid”).kendoGrid({
工具栏:[“pdf”],
pdf:{
文件名:“剑道UI网格导出.pdf”,
代理URL:“http://demos.telerik.com/kendo-ui/service/export"
},
数据源:{
类型:“odata”,
运输:{
阅读:{
url:“http://demos.telerik.com/kendo-ui/service/Northwind.svc/Employees",
}
}
},
栏目:[
{
标题:“照片”,
宽度:140,
模板:“”
},
{字段:“名字”},
{字段:“LastName”},
{字段:“国家”,隐藏:真},
{字段:“雇员ID”}
],
可滚动:false,
pdfExport:函数(e){
网格显示列(3);
网格。hideColumn(4);
}
}).数据(“kendoGrid”);
});代码>
谢谢。在第二个选项中,单击“导出”按钮后,网格中列出的列将发生更改。我不希望这种情况再次发生。对于隐藏/显示列,我使用ColumnMenu,这很好。你能分享你给出的第一个选项的代码片段吗?我无法理解。我的目的是从网格中获取导出数据,其他一些数据源可能与网格源的json文件相同,或者与网格数据有某种关系的其他json文件。你能为你的第一个选项发布一个代码示例吗建议?我更喜欢它,因为它不会改变页面上网格的外观。但是我使用的是MVC扩展,所以不太熟悉JS网格选项的使用。我可以想象,我只想完全用JS创建一个新的网格(我可以通过提供jquery选择器来实现吗?),将数据源复制到新网格,然后调用新网格的saveAsExcel()方法?@Onabai-您可以发布选项1的代码片段吗。非常感谢。选项2的问题在于,除了不希望在导出过程中奇迹般地出现列之外,网格甚至可能没有用于您希望导出的数据的列。