没有分页,剑道网格太慢了。如何更快地对大数据进行剑道网格分组?

时间:2016-10-27 08:56:22

标签: kendo-ui kendo-grid kendo-asp.net-mvc

分组时剑道网格太慢。我的第一次分组大约需要一分钟,第二次分组不起作用。当我进行第二次分组时,我得到了maxjsonlength错误。如何更快地对大数据进行剑道网格分组?我的网格是没有分页和mvc虚拟分页的clasic网格代码。我的数据是从mytable中选择*。 数据计数为2800。这是代码;

     @(Html.Kendo().Grid<DoktorModel>()
              .Name("DoktorGrid")
              //.HtmlAttributes(new { style = "height: 600px;" })
              .Columns(columns =>
              {
                  columns.Bound(p => p.Fotograf).ClientTemplate(@"<img class='doktor_photo' src='" + Url.Content("~/Photo/#:data.Fotograf#") + "'/>").Width(100).Title("Fotoğraf").Filterable(false).IncludeInMenu(false);
                  columns.Bound(p => p.Ad).Width(200).ClientGroupHeaderTemplate("Ad: #= value # (Sayı: #= count#)");
                  columns.Bound(p => p.Soyad).Width(200);
                  columns.Bound(p => p.DogumTarihi).Format("{0:dd/MM/yyyy}").Width(150);

           ...   

              })   
              .ToolBar(X => X.Template(@<text>
                <div class="toolbar">
                    <div>
                        <a class="k-button k-button-icontext k-grid-excel" href="\#"><span class="k-icon k-i-excel"></span>Export to Excel</a>

                        <a class="k-button" id="GrupAc"><span class="k-icon k-i-close"></span>Grupları Aç</a>
                        <a class="k-button" id="GrupKapat"><span class="k-icon k-i-close"></span>Grupları Kapat</a>
                        <div id="menu"></div>
                    </div>
                </div>

            </text>))



                      .Resizable(x => x.Columns(true))


                      .Selectable()
                      .Sortable()
                      .Scrollable(scrollable => scrollable.Virtual(true))
                       .Excel(excel => excel
                       .FileName("Kendo UI Grid Export.xlsx")

                       .AllPages(true)
                       .ProxyURL(Url.Action("Doktor_Excel_Export_Save", "Doktor"))
                         )
                        .Filterable(filterable => filterable
                              .Extra(false)
                              .Operators(operators => operators
                               .ForString(str => str.Clear()
                               .Contains("İçerir")

                          )).Mode(GridFilterMode.Menu))
                          .Groupable()
                          .Events(events => events.DataBound("datachange")
        )
                      .DataSource(dataSource => dataSource
                          .Ajax()


                          //.Batch(false)
                          .Events(e => e.Error("error_handler"))
                          .Read(read => read.Action("Doktor_Read", "Doktor").Type(HttpVerbs.Post))

                            .Aggregates(aggregates =>
                            {
                                aggregates.Add(p => p.AkademikUnvanKodId).Count();
...
                            })
                          .Model(m =>
                          {
                              m.Id(p => p.DoktorId);
                              m.Field(p => p.TCKimlikNo);
                             ...
                          })))

我的控制器代码;

[HttpPost]
    public JsonResult Doktor_Read([DataSourceRequest] DataSourceRequest request)
    {
        var result = Business.Doktor.GetDoktorList().ToDataSourceResult(request);
        return Json(result, JsonRequestBehavior.AllowGet);
    }
}

ANDERRORİS;

使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过maxJsonLength属性上设置的值。

0 个答案:

没有答案
相关问题