我有一個可分頁和可過濾的網格,我使用新的Kendo Grid Excel功能將其設置爲導出到Excel。但是,即使我將AllPages設置爲true,我也只能得到前10個結果,無論我設置的頁面大小如何。刪除Pageable屬性給了我完整的修復。任何人都有這個問題?Kendo Grid導出到Excel - 所有頁面不工作
這是我的網格設置。
@(Html.Kendo().Grid(Model.CloudUsage)
.Name("PCloudUsages")
.ToolBar(toolbar =>
{
toolbar.Excel().HtmlAttributes(new { @class = "toolbar-field" });
})
.Columns(columns =>
{
columns.Bound(c => c.ProjectCode).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false)));
columns.Bound(c => c.ProjectName).Title("ProjectName").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false)));
})
.Pageable(p => p.ButtonCount(5).PageSizes(new int[] { 10, 20, 50, 100 }))
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.Sortable()
.Excel(excel => excel.FileName("CloudUsages.xlsx").Filterable(true).ProxyURL(Url.Action("ExportExcel", "Admin")).AllPages(true))
.DataSource(source => source
.Ajax()
.Model(m => m.Id(itm => itm.ProjectName))
.Read(read => read.Action("PCloudUsages_Read", "Admin").Data("GetDates"))
.Sort(sort => sort.Add(itm => itm.ProjectName).Descending())
)
)
而且控制方法
public ActionResult ExportExcel(string contentType, string base64, string fileName)
{
var fileContents = Convert.FromBase64String(base64);
return File(fileContents, contentType, fileName);
}
編輯:我注意到,改變了數據源的「pageSize的」屬性更改行的Excel文件的數量。因此,無論AllPages設置爲true還是頁面大小設置爲網格大小,它都會生成數據源頁面大小的Excel文件。
不確定它是否重要,但您在'.Excel()'行中引用的操作與您列出的控制器方法不同。 – 2014-12-02 17:12:13
我也注意到了這一點。但是一旦我修好它,沒有什麼改變。我也在該方法中設置了一個斷點,並且在我更改了名稱後它也沒有中斷。 – 2014-12-02 17:29:51
我還沒有使用Excel導出。我今晚會嘗試。 – 2014-12-02 17:30:49