2015-07-14 2 views
0

У меня есть особый сценарий, чтобы улучшить экспортную функцию на сетке MVC Kendo-UI.MVC Kendo Grid export to excel, нажав кнопку с расширенным расположением

Сценарий: Я хотел бы экспортировать сетку Kendo MVC на лист Excel, но при нажатии кнопки, расположенной за пределами Grid, я не хочу показывать или использовать кнопку экспорта по умолчанию Excel, предоставленную Kendo, вместо этого Я хочу использовать другую кнопку ввода html. Кто-нибудь, пожалуйста, помогите мне в этом? Любая помощь будет оценена.

ответ

2

Пожалуйста, попробуйте приведенный ниже фрагмент кода.

<div id="grid"></div> 
<input type="button" onclick="downlaodexcel()" value="Export to excel" /> 
<script> 
    $("#grid").kendoGrid({ 
     dataSource: { 
      type: "odata", 
      transport: { 
       read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products" 
      }, 
      pageSize: 10 
     }, 
     sortable: true, 
     pageable: true, 
     columns: [ 
      { width: 300, field: "ProductName", title: "Product Name" }, 
      { field: "UnitsOnOrder", title: "Units On Order" }, 
      { field: "UnitsInStock", title: "Units In Stock" } 
     ] 
    }); 

    function downlaodexcel() { 
     $("#grid").getKendoGrid().saveAsExcel(); 
    } 
</script> 

Дайте мне знать, если есть вопросы.

+0

Спасибо @Jayesh Goyani .. ваш код попал в нужное место, и его работа идеально подходит для меня. Спасибо, мужик. – Salam

0

Я знаю, что сетка Kendo теперь была экспортирована с выпуском Kendo UI Q3 2014 (2014.3.1119). Но если вы похожи на меня, который застрял в старой версии и столкнулся с тем, что .saveAsExcel() только экспортирует текущую страницу, попробуйте это.

var dataSource = $("#grid").data("kendoGrid").dataSource; 
total = dataSource.total(); 
dataSource.pageSize(total); 
$("#grid").getKendoGrid().saveAsExcel(); 
dataSource.pageSize(20); 

В основном он устанавливает размер страницы, чтобы получить все, а затем устанавливает его обратно.

Смежные вопросы