gpt4 book ai didi

jquery - 剑道网格: Slow performance issue

转载 作者:行者123 更新时间:2023-12-03 22:27:40 27 4
gpt4 key购买 nike

问题在于 Kendo 网格的性能缓慢,当尝试加载 1000 多个记录时,网格需要大约 8 秒才能加载。我可以看到 Controller 在 3 秒内返回 json 数据,然后剑道网格需要时间来填充。

我的 PageSize 为 500 条记录并使用了 DataSourceRequest,因此每个页面的数据只会从 Controller 返回。但还是没有高兴。

任何人都可以建议我如何提高网格性能。

请在下面找到我的代码

 @(Html.Kendo().Grid<Model>()
.Name("KendoTestGrid")
.Columns(columns =>
{

columns.Bound(p => p.Column5)
.Width("18%")
.ClientTemplate("#= formatResult(format(column5, '')) #")
.EditorTemplateName("Column5")
.ClientFooterTemplate("<span href='\\#' id='total'>Total : </span>");
columns.Bound(p => p.Column6)
.EditorTemplateName("Column6")
.ClientTemplate("#= format(column6, '') #")
.ClientFooterTemplate("<span href='\\#' id='spanfooter'></span>")
.Width("23%");
columns.Bound(p => p.column7)
.ClientTemplate("<span href='\\#' id='#=Id #'>#= format(Column7,'')#</span>")
.ClientFooterTemplate("<span href='\\#' id='spansum'></span>")
.HtmlAttributes(new { Class = "number" })
.Width("18%");
columns.Bound(p => p.column8)
.EditorTemplateName("column8")
.ClientFooterTemplate("Total:")
.ClientFooterTemplate("<span href='\\#' id='TotalSum1'></span>")
.Width("23%");
})

.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(true)
.Read(read => read.Action("Action", "Controller").Data("getData"))
.Create(c => c.Action("Action", "Controller").Data("getData2"))
.Update(update => update.Action("Action", "Controller").Data("getData3"))
.PageSize(500) .Events(x => x.DataBound("ongriddatabound")
.Edit("ongridedit")
.Change("ongridchange"))
.Editable(editing => editing.Mode(Kendo.Mvc.UI.GridEditMode.InCell))

.Filterable()
.Groupable()
.Sortable()
.Scrollable()
.Pageable()
.Selectable(s => s.Mode(GridSelectionMode.Single).Type(GridSelectionType.Row))
.Resizable(resize => resize.Columns(true))
.AutoBind(false)
)

最佳答案

我们需要查看您拥有的 Controller /操作代码。

有时这取决于您返回数据的容器,根据我的经验,要获得剑道网格的最佳性能,您需要使用 IQueryable 容器并针对该容器运行 ToDataSourceResult 函数。

public ActionResult Action([DataSourceRequest] DataSourceRequest request, string ExtraParameters)
{
DBContext db = new DBContext();
IQueryable<Model> models = db.Models;
return Json((models).ToDataSourceResult(request));
}

编辑:同时关闭 ServerOperation(true) 选项

关于jquery - 剑道网格: Slow performance issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17511017/

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