Kendo ızgarasındaki yavaş performans sorunu, 1000'den fazla kayıt yüklemeye çalışırken, kılavuzun yüklenmesi yaklaşık 8 saniye sürüyor. Denetleyicinin json verisini 3 saniye içinde döndürdüğünü görebiliyorum ve kendo gridinin doldurulması zaman alıyor.Kendo ızgarası: Yavaş performans sorunu
Bir PageSize of 500 kayıt ve DataSourceRequest kullanıyorum, bu nedenle her sayfanın verileri yalnızca denetleyiciden döndürülecek. Ama yine de neşe yok.
Lütfen bana tavsiyede bulunun, şebeke performansını nasıl geliştirebilirim.
sizin ızgarada UI sanallaştırma etkinleştirme
@(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)
)
kapatın. 1200 elemanlı bir ızgara oluşturdum ve sayfa boyutu 500'ümde tarayıcımda/dizüstü bilgisayarımda hiçbir şey yapmıyor. Burada deneyebilirsiniz http://jsfiddle.net/OnaBai/27g3s/. Karmaşık şablonlar mı yoksa böyle bir şey mi kullanıyorsunuz? – OnaBai
Lütfen, ızgara yapmak için kullandığınız kodu ve kullandığınız tüm özel satırları veya düzenleme şablonlarını ekleyin. – CodingWithSpike
Sütunlarımda Clienttemplate ve Editortemplate kullanıyorum. EditorTemplate, iki sütunda sayısal metin kutusuna sahip. – user1870358