2017-10-29 277 views
0

我想删除列columns.Bound(c => c.Id)在excel中点击按钮导出。怎么做???如何在Kendo UI MVC上自定义列导出excel?

@(Html.Kendo().Grid(Model) 
       .Name("listResult") 
       .Columns(columns => 
       { 
        columns.Bound(c => c.Index).Title(ResourceLabel.COMMON_SN); 
        columns.Bound(c => c._Type); 
        columns.Bound(c => c.__Name); 
        columns.Bound(c => c.S__Date); 
        columns.Bound(c => c.Region); 
        columns.Bound(c => c.Status); 
        columns.Bound(c => c._Name); 
        columns.Bound(c => c.Id).Title("Action").ClientTemplate("<div class='form-inline action'>" + 
                      "#=RenderAction(data)#" + 
                      "</div>"); 
        //columns.Bound(c => c.Id).Title("Action").ClientTemplate("#=RenderAction(data)#"); 


       }) 
       .Pageable() 
       .AutoBind(false) 
       .ToolBar(toolbar => toolbar.Excel()) 
       .Excel(excel => excel.FileName("P_File.xlsx") 
       .ProxyURL(Url.Action("Excel_Save", "Search"))) 

回答

0

有一个excelExport event您可以订阅,这将允许您在导出之前隐藏列。看起来像MVC包装不直接处理这个问题,所以你需要配置你自己的jQuery:

$(document).ready(function() { 

    var myGrid = $("#listResult").data("kendoGrid"); 
    myGrid.excelExport = function(e) { 
     myGrid.hideColumn(0); 
    } 
}