2015-05-19 5 views
1

Я использую пользовательский интерфейс Kendo и экспортирую данные сетки в excel, я знаю процесс, и он отлично работает для меня. Теперь я хочу, чтобы имя файла excel было датировано как «12-12-2014.xlsx», хотя я могу получить значение даты из раскрывающегося списка с помощью Javascript, но я не могу отправить это значение даты в мою сетку пользовательского интерфейса Kendo. Вот код, может ли кто-нибудь мне помочь или какие-либо другие предложения? СеткаКак отправить значение переменной Javascript в сетку пользовательского интерфейса Kendo?

<script type="text/javascript"> 
    var selectedDate =""; 
    $("#startDate").change(function (e) { 
      selectedDate = $(this).val(); 
      var sd = selectedDate.split('/'); 
      selectedDate = sd[0] + "-" + sd[1] + "-" + sd[2]; 
      // selectedDate must be the excel file name 
     }); 
</script> 

Кендо UI:

@(Html.Kendo().Grid<Futuresteps.Media.Models.PrintMedia>() 
    .Name("grid") 
    .Columns(columns => 
    { 
      // some data 
    }) 
    .Excel(excel => excel 
       .FileName(selectedDate+".xlsx") 
       .Filterable(true) 
       .ProxyURL(Url.Action("Excel_Export_Save", "PrintMedias")) 
     )           

ответ

1

Поскольку дата может измениться, вы должны вычислить дату, когда собирается экспортировать файл в Excel, а не в момент создания, как вы делаете в:

.Excel(excel => excel 
    .FileName(selectedDate+".xlsx") 
    ... 
)   

Вы должны определить экспорт, чтобы преуспеть обработчик событий (excelExport) как:

excelExport: function(e) { 
    var selectedDate = ... 
    e.workbook.fileName = selectedDate + ".xslx"; 
} 

И это может выглядеть следующим образом:

<script type="text/javascript"> 
    var selectedDate =""; 
    $("#startDate").change(function (e) { 
     selectedDate = $(this).val(); 
     var sd = selectedDate.split('/'); 
     selectedDate = sd[0] + "-" + sd[1] + "-" + sd[2]; 
    }); 

    var grid = $("#grid").data("kendoGrid"); 
    grid.bind("excelExport", function(e) { 
     e.workbook.fileName = selectedDate + ".xslx"; 
    }); 
</script> 
+0

Спасибо дорогой OnaBai, он работал с некоторыми изменениями, я добавил код внутри функции изменения в то время как вы добавили из функции .... спасибо –

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