gpt4 book ai didi

asp.net-mvc - Kendo 网格导出到 Excel - 所有页面都不起作用

转载 作者:行者123 更新时间:2023-12-02 04:16:12 26 4
gpt4 key购买 nike

我有一个可分页和可过滤的网格,我将其设置为使用新的 Kendo Grid Excel 功能导出到 Excel。但是,即使我将 AllPages 设置为 true,无论我将页面大小设置为多少,我也只能得到前 10 个结果。删除可分页属性可以给我完整的结果。还有人遇到这个问题吗?

这是我的网格的设置。

@(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())
)
)

以及 Controller 方法

public ActionResult ExportExcel(string contentType, string base64, string fileName)
{
var fileContents = Convert.FromBase64String(base64);

return File(fileContents, contentType, fileName);
}

编辑:我注意到更改数据源的“pageSize”属性会更改 Excel 文件中的行数。因此,无论 AllPages 是否设置为 true,或者网格上的 pagesize 设置为多少,它似乎总是生成数据源 Pagesize 大小的 excel 文件。

最佳答案

弄清楚我做错了什么。问题不在于 Excel 问题,而在于我的网格。我将网格绑定(bind)到一个列表,该列表是我的 ViewModel 的一部分,该列表在页面加载时填充。我应该将数据留空并仅指定网格的类型。这样,读取操作就会在网格加载时以及生成 Excel 时获取数据。新代码应如下所示:

@(Html.Kendo().Grid<CloudUsages>()
.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())
)
)

关于asp.net-mvc - Kendo 网格导出到 Excel - 所有页面都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27253197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com